Rhino C++ API  8.6
Public Member Functions | Friends | List of all members
ON_MeshXPlane Class Reference

#include <opennurbs_mesh.h>

Inheritance diagram for ON_MeshXPlane:
ON_MeshX

Public Member Functions

 ON_MeshXPlane (const ON_Mesh &mesh, const ON_RTree &mesh_face_rtree, ON__UINT_PTR mesh_id)
 
 ON_MeshXPlane (const ON_Mesh &mesh, ON__UINT_PTR mesh_id)
 
 ON_MeshXPlane (unsigned int vertex_count, const class ON_3dPoint *mesh_dV, const class ON_3fPoint *mesh_fV, const class ON_2dPoint *mesh_S, unsigned int face_count, const class ON_MeshFace *mesh_F, const ON_RTree &mesh_face_rtree, ON__UINT_PTR mesh_id)
 
 ~ON_MeshXPlane ()
 
bool IncludeDegenerateEdgePoints () const
 
bool IncludeOverlapFacets () const
 
bool IncludeVertexPoints () const
 
unsigned int IntersectPlane (ON_PlaneEquation plane_eqn, double plane_eqn_zero_tolerance, unsigned int plane_id, ON_MeshXPointPool &mxpointpool)
 
void SetIncludeDegenerateEdgePoints (bool bIncludeDegenerateEdgePoints)
 
void SetIncludeOverlapFacets (bool bIncludeOverlapFacets)
 
void SetIncludeVertexPoints (bool bIncludeVertexPoints)
 
- Public Member Functions inherited from ON_MeshX
 ON_MeshX (const ON_Mesh &mesh, const ON_RTree &mesh_face_rtree, ON__UINT_PTR mesh_id)
 
 ON_MeshX (const ON_Mesh &mesh, ON__UINT_PTR mesh_id)
 
 ON_MeshX (unsigned int vertex_count, const class ON_3dPoint *mesh_dV, const class ON_3fPoint *mesh_fV, const class ON_2dPoint *mesh_S, unsigned int face_count, const class ON_MeshFace *mesh_F, const ON_RTree &mesh_face_rtree, ON__UINT_PTR mesh_id)
 
 ~ON_MeshX ()
 
double BarycentricCoordinateTolerance () const
 
ON_Xform MeshInverseTransform () const
 
ON_Xform MeshTransform () const
 
bool SetBarycentricCoordinateTolerance (double bc_tolerance)
 
bool SetMeshTransform (ON_Xform xform)
 
void SetSurfaceProperties (const class ON_Surface *surface)
 
void SetSurfaceProperties (const class ON_SurfaceProperties *surface_properties)
 
const class ON_SurfacePropertiesSurfaceProperties () const
 

Friends

class ON_MeshXPlaneCache
 

Additional Inherited Members

- Public Attributes inherited from ON_MeshX
const ON_Meshm_mesh
 
ON_BoundingBox m_mesh_bbox
 
const class ON_3dPointm_mesh_dV
 
const class ON_MeshFacem_mesh_F
 
const ON_RTreem_mesh_face_rtree
 
const unsigned int m_mesh_Fcnt
 
const class ON_3fPointm_mesh_fV
 
const ON__UINT_PTR m_mesh_id
 
const class ON_2dPointm_mesh_S
 
const unsigned int m_mesh_Vcnt
 
ON__UINT_PTR m_tag
 
- Protected Attributes inherited from ON_MeshX
double m_bc_tolerance
 default is ON_EPSILON More...
 
unsigned char m_bHaveXform
 
ON_Xform m_inverse_xform
 
unsigned char m_reserved1 [7]
 
ON_SurfaceProperties m_surface_properties
 
ON_Xform m_xform
 

Constructor & Destructor Documentation

◆ ON_MeshXPlane() [1/3]

ON_MeshXPlane::ON_MeshXPlane ( const ON_Mesh mesh,
ON__UINT_PTR  mesh_id 
)

Parameters: mesh - [in] mesh.MeshFaceTree(true) is used to get a mesh face rtree. mesh_id - [in] Value of that is assigned to ON_MeshXPoint.m_mesh_id.

◆ ON_MeshXPlane() [2/3]

ON_MeshXPlane::ON_MeshXPlane ( const ON_Mesh mesh,
const ON_RTree mesh_face_rtree,
ON__UINT_PTR  mesh_id 
)

◆ ON_MeshXPlane() [3/3]

ON_MeshXPlane::ON_MeshXPlane ( unsigned int  vertex_count,
const class ON_3dPoint mesh_dV,
const class ON_3fPoint mesh_fV,
const class ON_2dPoint mesh_S,
unsigned int  face_count,
const class ON_MeshFace mesh_F,
const ON_RTree mesh_face_rtree,
ON__UINT_PTR  mesh_id 
)

◆ ~ON_MeshXPlane()

ON_MeshXPlane::~ON_MeshXPlane ( )

Member Function Documentation

◆ IncludeDegenerateEdgePoints()

bool ON_MeshXPlane::IncludeDegenerateEdgePoints ( ) const

Returns: True if an event should be added when the intersection of the plane and a mesh facet is a vertex point. Remarks: The constructor default is false.

◆ IncludeOverlapFacets()

bool ON_MeshXPlane::IncludeOverlapFacets ( ) const

Returns: True if an events should be added when an entire mesh facet is in the plane. Remarks: The constructor default is false.

◆ IncludeVertexPoints()

bool ON_MeshXPlane::IncludeVertexPoints ( ) const

Returns: True if an event should be added when the intersection of the plane and a mesh facet is an isolated vertex point. Remarks: The constructor default is false.

◆ IntersectPlane()

unsigned int ON_MeshXPlane::IntersectPlane ( ON_PlaneEquation  plane_eqn,
double  plane_eqn_zero_tolerance,
unsigned int  plane_id,
ON_MeshXPointPool mxpointpool 
)

Parameters: plane_eqn - [in] plane_eqn_zero_tolerance - [in] (use ON_UNSET_VALUE when in doubt) If fabs(plane_eqn.ValueAt(P)) <= plane_eqn_zero_tolerance, then P is considered to be on the plane. If the input value of plane_eqn_zero_tolerance is < 0.0 or not valid, then plane_eqn.ZeroTolerance() is used. If the input value is 0.0, then no tolerance is used. bc_tolerance - in if a barycentric coordinate is < max(bc_tolerance,ON_EPSILON), then the barycentric coordinate is set to zero. plane_id - [in] Value of that is assigned to ON_MeshXPoint.m_other_id. Remarks: This function is not thread safe. If you want to use multiple threads to intersect multiple planes with the same mesh, then create a local ON_MeshXPlane class for each thread.

◆ SetIncludeDegenerateEdgePoints()

void ON_MeshXPlane::SetIncludeDegenerateEdgePoints ( bool  bIncludeDegenerateEdgePoints)

◆ SetIncludeOverlapFacets()

void ON_MeshXPlane::SetIncludeOverlapFacets ( bool  bIncludeOverlapFacets)

◆ SetIncludeVertexPoints()

void ON_MeshXPlane::SetIncludeVertexPoints ( bool  bIncludeVertexPoints)

Friends And Related Function Documentation

◆ ON_MeshXPlaneCache

friend class ON_MeshXPlaneCache
friend