\+S      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr s t u v w x y z { | } ~  (C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comSafeL[\Four basic set operations: !images/set-operation-examples.png(C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comSafe9;<=L[\pConvenient universal zero equality predicate that warps to zero within some epsilon for floating point numbers.#Greater or equal to zero predicate.   (C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNone 9:;<=L[\ cMake plane from vector of points. Returns Nothing if vectors between points are linearly dependentInternally Plane is represented as a pair (sN, sO) where N is a normal vector of a plane O is the distance of that plane from the origin and s is an arbitrary non-zero scalar. Flip plane orientation.!cAssumes that points form a valid plane (i.e. vectors between all points are linearly independent).Convert point to a vector."'Test whether two vectors are collinear.#All n-combinations of a given list.Zip two , structures to a list with a given function.6Test co-incidence of two planes assuming collinearity.1Test co-orientation of two assuming collinearity.#<Relate two planes on Parallelism, Incidence and Orientation.  !"#$%&  !"#$! " #$  !"#$%&(C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNone9;<=L[\8Convert a point to CrossPoint-./0123456789: -./012365478 34567/012-.8-./0123456789:(C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNoneL[\EFlip orientation of a facet. =>?@ABCDE =>?@ABCDE ABCD>=E?@=>?@ABCDE(C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNone 69;<=L[\ FGHIMake CrossPoint from VClipping plane HPoints signs relative to H Cross BoundryResultJKFGHIFGHHI FGHHIJK(C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNone 9:;<=L[\MSimple direct 3-BRep as a list of triangles. Useful as an output after performing specified set operations of the base shapes for rendering.PIndexed 3-BRep as a list of convex polygons. Continent as a way to introduce new base shapes into the constructive geometry context.RBConvert from list of Facets to a polytope boundary representation.T*Convert from polytope to a list of Facets.LMNOPQRSTUVW LMNOPQRSTU TURSPQOMNL LMNOPQRSTUVW(C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNone2L[\b_+Binary Tree parametrized by leafs and nodeseComplementary seti Pretty print BSP tree to stdout.j7Render BSP into a horizontal tree with a given context.k<Denormalize BSP with integers at nodes and IntMap of values.[\]^_`abcdefghijkl[\^]_`abcdefghijk_`a\]^d[ecbfghijk[\]^_`abcdefghijkl (C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNone9;<=L[\s;Turn plane into a Facet by clipping it by the universe box.v Planes bounding the UniverseBox.w%List of facets bounding the Universe.x=Split a region within a Universe bounded by a list of Facets.y3Perform a given SetOperation of two BSPs by mergingzQOptimize a resulting BSP after merging by removing superficial splitting planes.{*Make a BSP from a list of bounding facets.|)Reconstruct boundary facets from the BSP.rstuvwxyz{|}~ [rstuvwxyz{| [tursvwxyz{|rstuvwxyz{|}~ (C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNoneL[\AVolume, currently represented as a list of Facets and a BSP Tree.BConstruct Volume from a list of Facets representing it's boundary. Empty volume.2Merge two Volumes under a specified Set Operation.    (C) 2017 Maksymilian OwsiannyBSD-style (see LICENSE)Maksymilian.Owsianny@gmail.comNone*L[\DConvert an arbitrary polytope boundary representation into a Volume..Recover a boundary representation of a Volume./Convert a simple 3-BRep polyhedron to a Volume.0Reconstruct a triangulated 3-BRep from a Volume.2Merge two Volumes under a specified Set Operation.UMerges list of Volumes under a specified Set Operation. Empty list equals empty set.;Union of two volumes. Convenience synonym for `merge Union`Union of list of volumes.Intersection of two volumes. Intersection of list of volumes.Difference between two volumes.-Subtract list of volumes from a given volume.4Cube represented as a denormalized list of polygons. Cube volume. LMNOPQRT TRPQMNOL   !"#$%&'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLLMNOPQRSTUVWWXYYZ[\]^_`abcdefghijklmnopqrstuvwxy z { | } ~        4computational-geometry-0.1.0.3-97IYiasWtTIhCqGaoWmH2Geometry.SetOperations.Types Data.EqZeroGeometry.Plane.General!Geometry.SetOperations.CrossPointGeometry.SetOperations.FacetGeometry.SetOperations.ClipGeometry.SetOperations.BRepGeometry.SetOperations.BSPGeometry.SetOperations.MergeGeometry.SetOperations.VolumeGeometry.SetOperations SetOperationUnion Intersection DifferenceSymmetricDifferenceEqZeroeqZerogeqZero $fEqZeroRatio$fEqZeroCDouble$fEqZeroCFloat$fEqZeroDouble $fEqZeroFloat Orientation CoOriented AntiOriented Incidence CoIncident NonIncidentPlanesRelationParallelCrossing MakePlane makePlanePlane3DPlane2DPlane3Plane2Plane planeVector planeLast flipPlaneunsafeMakePlane collinearplanesRelation isParallel$fMakePlaneV3n $fNFDataPlane $fEqPlane $fOrdPlane $fShowPlane$fShowIncidence$fShowOrientation$fShowPlanesRelationMakeCrossPointmakeCrossPoint CrossPointCP orientationgetPointSignMZPtoSign toCrossPoint$fMakeCrossPointV3n$fMakeCrossPointV2n $fShowSign$fEqSignFacet3DFacet2DFB2FB3Facet facetPlane facetBoundary flipFacetClip clipFacet splitFacetvec3 $fClip[]vn $fClip(,)vnPolyT3DPolyT3Poly3DPoly3 ToPolytopeRep toPolytopeRepFromPolytopeRepfromPolytopeRep$fToPolytopeRepPolyT3[]vn$fFromPolytopeRepPoly3[]vn $fShowOrdPair $fEqOrdPair $fOrdOrdPairBSP LeafColorGreenRed BinaryTreeNodeLeafOutIn swapColorcmp constructBSP splitWithdestructBinaryTree prettyBSPrenderHdenormalizeBSP$fBifunctorBinaryTree$fEqBinaryTree$fShowBinaryTree$fFunctorBinaryTree $fEqLeafColor$fShowLeafColorUniverse makeFacetBSP3DBSP2DuniversePlanes universeBox splitRegion mergeBSPstrimmakeBSP toBoundary$fUniverse[]V3n$fUniverse(,)V2nVolume3DVolume2DVolume volumeFacets volumeTree makeVolume emptyVolume mergeVolumesMergetoVolume fromVolume toVolume3D fromVolume3Dmergemergesunionunions intersection intersections difference differences cubePoly3cubeunPoint combinationszipWithbase Data.FoldableFoldable coincidence coorientationsplitCoincidentvec2 splitFastcomposemk1mk2 dropCycleOrdPair makeFacets3 mkOrdPairedges2trisContext universeSize clipPlanes partitionBSP setOperationcollapse isBoundaryp3