25 #ifdef BENTLEYGEOMETRY_ClipPlaneCoordinatesPublic
39 PlaneMask_Interior = 0x0001 << 0,
40 PlaneMask_Invisible = 0x0001 << 1,
49 GEOMDLLIMPEXP
ClipPlane (
DVec3dCR normal,
double distance,
bool invisible =
false,
bool interior =
false);
76 GEOMDLLIMPEXP
void SetFlags (
bool invisible,
bool interior);
113 GEOMDLLIMPEXP
void Negate ();
uint32_t GetFlags() const
Get flags.
bool GetIsInterior() const
Return the interior flag.
double DotProduct(DVec3dCR normal) const
Evaluate Dot Product with plane normal.
void ConvexPolygonSplitInsideOutside(bvector< DPoint3d > const &xyz, bvector< DPoint3d > &xyzIn, bvector< DPoint3d > &xyzOut, DRange1d &altitudeRange) const
DVec3dCR GetNormal() const
Return the plane normal.
#define END_BENTLEY_GEOMETRY_NAMESPACE
Definition: Bentley.r.h:30
void TransformInPlace(TransformCR transform)
Transform plane.
bool GetIsInvisible() const
Return the interior flag.
void SetFlags(uint32_t flags)
Set flags.
Origin and normal vector for a plane.
Definition: dplane3d.h:18
ClipPlane()
Default constructor – z vector, everything else zero.
struct DRange3d & DRange3dR
Definition: msgeomstructs_typedefs.h:108
struct Transform const * TransformCP
Definition: msgeomstructs_typedefs.h:134
struct DPlane3d const & DPlane3dCR
Definition: msgeomstructs_typedefs.h:113
A 1d interval with low and high values.
Definition: DRange1d.h:41
void Negate()
Flip the normal direction.
struct Transform const & TransformCR
Definition: msgeomstructs_typedefs.h:134
bool BoundedSegmentHasSimpleIntersection(DPoint3dCR pointA, DPoint3dCR pointB, double &fraction) const
Return true if the through {pointA} and {pointB} crosses the plane at a fractional coordinate between...
void ConvexPolygonClipInPlace(bvector< DPoint3d > &xyz, bvector< DPoint3d > &work) const
Clip a convex polygon.
DPlane3d GetDPlane3d() const
Return the plane as origin and normal.
double GetDistance() const
Return the plane distance.
bool IsVisible() const
Return whether cut for this flag should be displayed (!invisible && !isInterior);.
#define BEGIN_BENTLEY_GEOMETRY_NAMESPACE
Definition: Bentley.r.h:29
struct DPoint3d const & DPoint3dCR
Definition: msgeomstructs_typedefs.h:79
bool GetRange(DRange3dR range, TransformCP transform) const
GetRange.
bool IsPointOnOrInside(DPoint3dCR point) const
Return if the point is on or inside plane.
unsigned int uint32_t
Definition: Bentley.r.h:93
struct DVec3d const & DVec3dCR
Definition: msgeomstructs_typedefs.h:89
void OffsetDistance(double distance)
Apply offset to plane.
A single plane described by normal and distance from origin.
Definition: ClipPlane.h:23
void SetInvisible(bool invisible)
Get invisible.
double EvaluatePoint(DPoint3dCR point) const
Evaluate the plane equation at {point}.