165 bool clearOutside =
true,
166 double distanceTolerance = 0.0
struct DVec3d const * DVec3dCP
Definition: msgeomstructs_typedefs.h:89
bool GetRange(DRange3dR range, TransformCP transform) const
Get range of this ConvexClipPlaneSet.
bool SwapBackPop(bvector< T > &data)
Definition: ClipPlaneSet.h:72
void push_back(const_reference)
struct DPoint3d const * DPoint3dCP
Definition: msgeomstructs_typedefs.h:79
bool IsPointOnOrInside(DPoint3dCR point, double tolerance) const
Test if point is inside to supplied tolerance.
Definition: ClipPlaneSet.h:19
bool GetRange(DRange3dR range, TransformCP transform) const
Get range of this ClipPlaneSet.
static ClipPlaneSet FromSweptPolygon(DPoint3dCP points, size_t n, DVec3dCP direction=NULL)
Create a (chain of) convex clippers for an (unbounded) polygon sweep in given direction.
bool IsPointInside(DPoint3dCR point) const
Test if point is inside all planes.
#define END_BENTLEY_GEOMETRY_NAMESPACE
Definition: Bentley.r.h:30
ClipPlaneContainment ClassifyPointContainment(DPoint3dCP points, size_t nPoints, bool onIsOutside=false) const
return a summary classification
bool PopToCache()
Definition: ClipPlaneSet.h:32
bool ClipUnBoundedSegment(DPoint3dCR pointA, DPoint3dCR pointB, double &fraction0, double &fraction1, double planeSign) const
Clip an unbounded line to this set of planes.
struct ConvexClipPlaneSet const & ConvexClipPlaneSetCR
Definition: msgeomstructs_typedefs.h:95
bool IsSphereInside(DPoint3dCR point, double tolerance) const
Test if sphere is inside all planes.
void TransformInPlace(TransformCR transform)
Transform plane set.
bool ClipBoundedSegment(DPoint3dCR pointA, DPoint3dCR pointB, double &fraction0, double &fraction1, double planeSign) const
Clip a (bounded) line segment to this set of planes.
ClipPlaneSet()
Create empty clip plane set.
Definition: ClipPlaneSet.h:181
#define NULL
Definition: Bentley.h:157
void ClearToCache()
Definition: ClipPlaneSet.h:64
static ClipPlaneSet FromXYBox(double x0, double y0, double x1, double y1)
Create clip plane set from XY box.
bool IsPointInside(DPoint3dCR point) const
Test if point is inside.
void TransformInPlace(TransformCR transform)
Transform each plane set.
bvector< ConvexClipPlaneSet > T_ConvexClipPlaneSets
Definition: ClipPlaneSet.h:171
struct DRange3d & DRange3dR
Definition: msgeomstructs_typedefs.h:108
void PushCopy(bvector< T > const &data)
Definition: ClipPlaneSet.h:58
void ConvexPolygonClipInsideOutside(bvector< DPoint3d > const &input, bvector< DPoint3d > &inside, BVectorCache< DPoint3d > &outside, bvector< DPoint3d > &work1, bvector< DPoint3d > &work2, bool clearOutside=true, double distanceTolerance=0.0) const
Return the (0 or 1) intersection polygon and (0 or to numClipPlane) outside pieces.
size_type size() const
Definition: stdcxx/bvector.h:283
struct Transform const * TransformCP
Definition: msgeomstructs_typedefs.h:134
static ConvexClipPlaneSet FromXYBox(double x0, double y0, double x1, double y1)
Create clip plane set from XY box.
void pop_back()
Definition: stdcxx/bvector.h:337
Definition: ClipPlaneSet.h:20
bool IsPointOnOrInside(DPoint3dCR point, double tolerance) const
Test if point is inside all planes to supplied tolerance.
bool empty() const
Definition: stdcxx/bvector.h:297
A Bentley supplied implementation std::vector.
Definition: stdcxx/bvector.h:77
ConvexClipPlaneSet()
Create emplty convex plane set.
Definition: ClipPlaneSet.h:92
bvector< bvector< T > > m_cache
Definition: ClipPlaneSet.h:29
int ReloadSweptConvexPolygon(bvector< DPoint3d > const &points, DVec3dCR sweepDirection, int sideSelect)
reinitialize to clip to a swept polygon.
ClipPlaneContainment
Definition: ClipPlaneSet.h:16
! A ClipPlaneSet is an array of ConvexClipPlaneSet representing the union of all of these sets...
Definition: ClipPlaneSet.h:178
struct Transform const & TransformCR
Definition: msgeomstructs_typedefs.h:134
bool TestRayIntersect(DPoint3dCR point, DVec3dCR direction) const
Test for intersection with ray.
bool IsSphereInside(DPoint3dCR point, double radius) const
Test if point is inside to supplied tolerance.
Definition: ClipPlaneSet.h:18
void PushFromCache()
Definition: ClipPlaneSet.h:46
! A ConvexClipPlaneSet is an array of planes oriented so the intersection of their inside halfspaces ...
Definition: ClipPlaneSet.h:89
pointer data()
Definition: stdcxx/bvector.h:322
#define BEGIN_BENTLEY_GEOMETRY_NAMESPACE
Definition: Bentley.r.h:29
struct DPoint3d const & DPoint3dCR
Definition: msgeomstructs_typedefs.h:79
static ConvexClipPlaneSet FromXYPolyLine(bvector< DPoint3d > &points, bvector< bool > &hiddenEdge, bool leftIsInside)
Create clip plane set from XY polygon.
BEGIN_BENTLEY_GEOMETRY_NAMESPACE typedef bvector< ClipPlane > T_ClipPlanes
Definition: ClipPlaneSet.h:13
bvector< ClipPlaneSet > T_ClipPlaneSets
Definition: ClipPlaneSet.h:232
reference back()
Definition: stdcxx/bvector.h:325
struct ClipPlane const * ClipPlaneCP
Definition: msgeomstructs_typedefs.h:93
struct DVec3d const & DVec3dCR
Definition: msgeomstructs_typedefs.h:89
Definition: ClipPlaneSet.h:27
ClipPlaneContainment ClassifyPointContainment(DPoint3dCP points, size_t nPoints, bool onIsOutside=false) const
return a summary classification
bool GetRayIntersection(double &tNear, DPoint3dCR point, DVec3dCR direction) const
Get nearest intersect distance along ray.
void ConvexPolygonClip(bvector< DPoint3d > const &input, bvector< DPoint3d > &output, bvector< DPoint3d > &work) const
Return the (polygon) of intersection.
ConvexClipPlaneSet(size_t n)
Create convex plane set of specified size.
Definition: ClipPlaneSet.h:95