Rhino C++ API  9.0
Public Member Functions | Public Attributes | List of all members
ON_MeshSplitOptions Class Reference

#include <opennurbs_mesh.h>

Inheritance diagram for ON_MeshSplitOptions:
ON_MeshIntersectionOptions

Public Member Functions

 ON_MeshSplitOptions ()
 
 ~ON_MeshSplitOptions ()
 
bool CompleteOpenCuts () const
 Defaults to false. More...
 
bool CreateNgons () const
 Defaults to true. More...
 
ON_3dPointArray * OpenCutEnds () const
 Defaults to nullptr. More...
 
void RequestOpenCutEnds (ON_3dPointArray *ends)
 
void SetCompleteOpenCuts (bool enable)
 
void SetCreateNgons (bool enable)
 
void SetSplitAtCoplanars (bool enable)
 
bool SplitAtCoplanars () const
 Defaults to true. More...
 
- Public Member Functions inherited from ON_MeshIntersectionOptions
 ON_MeshIntersectionOptions ()
 
 ~ON_MeshIntersectionOptions ()
 
ON_MeshIntersectionCache * MeshIntersectionCache () const
 Defaults to nullptr. More...
 
bool MultithreadingEnabled () const
 Defaults to true. More...
 
ON_ProgressReporter * ProgressReporter () const
 Defaults to nullptr. More...
 
Accuracy RequestedAccuracy () const
 Defaults to Accuracy::Standard. More...
 
void SetMeshIntersectionCache (ON_MeshIntersectionCache *cache)
 
void SetMultithreadingEnabled (bool enabled)
 
void SetProgressReporter (ON_ProgressReporter *reporter)
 
void SetRequestedAccuracy (Accuracy accuracy)
 
void SetTerminator (ON_Terminator *terminator)
 
void SetTextLog (ON_TextLog *log)
 
ON_Terminator * Terminator () const
 Defaults to nullptr. More...
 
ON_TextLog * TextLog () const
 Defaults to nullptr. More...
 
double Tolerance () const
 Defaults to ON_ZERO_TOLERANCE void SetTolerance(double tolerance);. More...
 

Public Attributes

ON_MeshSplitOptionsImplementation * m_split
 
- Public Attributes inherited from ON_MeshIntersectionOptions
ON_MeshIntersectionOptionsImplementation * m_impl
 

Additional Inherited Members

- Public Types inherited from ON_MeshIntersectionOptions
enum  Accuracy { Accuracy::ForVisualization, Accuracy::Standard }
 Defines the desired accuracy of the intersection calculation. More...
 

Constructor & Destructor Documentation

◆ ON_MeshSplitOptions()

ON_MeshSplitOptions::ON_MeshSplitOptions ( )

◆ ~ON_MeshSplitOptions()

ON_MeshSplitOptions::~ON_MeshSplitOptions ( )

Member Function Documentation

◆ CompleteOpenCuts()

bool ON_MeshSplitOptions::CompleteOpenCuts ( ) const

Defaults to false.

An intersection curve that stops inside the mesh being split does not separate one side from the other, so the mesh is returned whole. When this is enabled, each such open end is joined to the nearest border of the mesh, or to another cut, by the shortest path along existing edges or straight across a quad or an n-gon between two of its vertices. This yields a best-effort cut where the intersection alone leaves the answer undetermined: the added stretch follows the mesh rather than the cutter, so it is not an intersection result. No vertex is added or moved; faces crossed straight are re-tiled from their own vertices. Cuts that already close, or that already run from border to border, are unaffected.

◆ CreateNgons()

bool ON_MeshSplitOptions::CreateNgons ( ) const

Defaults to true.

◆ OpenCutEnds()

ON_3dPointArray* ON_MeshSplitOptions::OpenCutEnds ( ) const

Defaults to nullptr.

◆ RequestOpenCutEnds()

void ON_MeshSplitOptions::RequestOpenCutEnds ( ON_3dPointArray *  ends)

When ends is not nullptr, a split appends to it the end of every intersection curve that stops inside a mesh being split. Nothing is computed when it is nullptr. The array must outlive the split; it is not cleared first.

◆ SetCompleteOpenCuts()

void ON_MeshSplitOptions::SetCompleteOpenCuts ( bool  enable)

◆ SetCreateNgons()

void ON_MeshSplitOptions::SetCreateNgons ( bool  enable)

◆ SetSplitAtCoplanars()

void ON_MeshSplitOptions::SetSplitAtCoplanars ( bool  enable)

◆ SplitAtCoplanars()

bool ON_MeshSplitOptions::SplitAtCoplanars ( ) const

Defaults to true.

Member Data Documentation

◆ m_split

ON_MeshSplitOptionsImplementation* ON_MeshSplitOptions::m_split