Rhino C++ API  9.1
Public Member Functions | Public Attributes | List of all members
CRhinoMeshBooleanOptions Class Reference

Contains additional information about mesh booleans. This class can have more methods added. More...

#include <rhinoSdkMeshUtilities.h>

Public Member Functions

 CRhinoMeshBooleanOptions ()
 
 ~CRhinoMeshBooleanOptions ()
 
ON_SimpleArray< ON_2dex > * FailedInputPairs () const
 Returns the array requested via RequestFailedInputPairs, or null. More...
 
ON_3dPointArray * OpenCutEnds () const
 Returns the array requested via RequestOpenCutEnds, or null. More...
 
ON_SimpleArray< int > * OpenResults () const
 Returns the array requested via RequestOpenResults, or null. More...
 
void RequestFailedInputPairs (ON_SimpleArray< ON_2dex > *pairs)
 Requests the pairs of input meshes whose operation with each other could not be computed. For the two-set operations (Difference/Intersection/Split) the indices are flat-concatenated as in RequestSourceMeshIndexMap; a union pair is listed only when its meshes ended in different results. Nothing is computed unless requested. The pointer is borrowed; the array is appended to, not cleared. More...
 
void RequestFirstNewlyAddedFacesList (ON_SimpleArray< unsigned > *list)
 Retuns a list with the first index, the first index of the first newly added mesh face, and as secondo index, the count of new faces after that index. More...
 
void RequestOpenCutEnds (ON_3dPointArray *ends)
 Requests the ends of the intersections that stop inside a mesh the operation splits (RH-97369): such a cut separates nothing. Nothing is computed unless requested. The pointer is borrowed; the array is appended to, not cleared. More...
 
void RequestOpenResults (ON_SimpleArray< int > *results)
 Requests the indices of the results that have naked edges although no input mesh had any. Nothing is computed unless requested. The pointer is borrowed; the array is appended to, not cleared. More...
 
void RequestSourceMeshIndexMap (ON_ClassArray< ON_SimpleArray< int >> *map)
 Requests an input-to-output index map for the next boolean run (RH-94152). When set, the boolean fills 'map' with one entry per output mesh (parallel to the OutMeshes result), each listing the indices of the input meshes that contributed faces to that output. For the two-set operations (Difference/Intersection/Split) the indices are flat-concatenated: the first set occupies 0..n0-1 and the second set occupies n0..n0+n1-1. The pointer is borrowed; the caller owns the storage. More...
 
void RequestUnmergedResultPairs (ON_SimpleArray< ON_2dex > *pairs)
 Requests the pairs of union results that were left apart because joining them would have left naked edges, as indices into the results of the call. Nothing is computed unless requested. The pointer is borrowed; the array is appended to, not cleared. More...
 
bool ResolveSelfIntersections () const
 Returns the value set via SetResolveSelfIntersections. More...
 
void SetResolveSelfIntersections (bool resolve)
 Sets whether union, difference and intersection first read an input mesh that intersects itself, or whose closed parts nest in each other or are wound inside out, as the solid it encloses. When disabled, the default, this is done only when the result computed from the inputs as given has naked or non-manifold edges it should not have, or could not be computed, and the result from the resolved inputs has neither. More...
 
ON_ClassArray< ON_SimpleArray< int > > * SourceMeshIndexMap () const
 Returns the index map requested via RequestSourceMeshIndexMap, or null. More...
 
ON_SimpleArray< ON_2dex > * UnmergedResultPairs () const
 Returns the array requested via RequestUnmergedResultPairs, or null. More...
 

Public Attributes

ON_Terminator * m_cancel = nullptr
 
bool m_ngons = true
 
ON_ProgressReporter * m_reporter = nullptr
 
ON_TextLog * m_text_log = nullptr
 

Detailed Description

Contains additional information about mesh booleans. This class can have more methods added.

Constructor & Destructor Documentation

◆ ~CRhinoMeshBooleanOptions()

CRhinoMeshBooleanOptions::~CRhinoMeshBooleanOptions ( )

◆ CRhinoMeshBooleanOptions()

CRhinoMeshBooleanOptions::CRhinoMeshBooleanOptions ( )

Member Function Documentation

◆ FailedInputPairs()

ON_SimpleArray<ON_2dex>* CRhinoMeshBooleanOptions::FailedInputPairs ( ) const

Returns the array requested via RequestFailedInputPairs, or null.

◆ OpenCutEnds()

ON_3dPointArray* CRhinoMeshBooleanOptions::OpenCutEnds ( ) const

Returns the array requested via RequestOpenCutEnds, or null.

◆ OpenResults()

ON_SimpleArray<int>* CRhinoMeshBooleanOptions::OpenResults ( ) const

Returns the array requested via RequestOpenResults, or null.

◆ RequestFailedInputPairs()

void CRhinoMeshBooleanOptions::RequestFailedInputPairs ( ON_SimpleArray< ON_2dex > *  pairs)

Requests the pairs of input meshes whose operation with each other could not be computed. For the two-set operations (Difference/Intersection/Split) the indices are flat-concatenated as in RequestSourceMeshIndexMap; a union pair is listed only when its meshes ended in different results. Nothing is computed unless requested. The pointer is borrowed; the array is appended to, not cleared.

Parameters
pairsReceives the input index pairs, or null to disable.

◆ RequestFirstNewlyAddedFacesList()

void CRhinoMeshBooleanOptions::RequestFirstNewlyAddedFacesList ( ON_SimpleArray< unsigned > *  list)

Retuns a list with the first index, the first index of the first newly added mesh face, and as secondo index, the count of new faces after that index.

Parameters
listThe indices of the new faces, as addessed in the summary.

◆ RequestOpenCutEnds()

void CRhinoMeshBooleanOptions::RequestOpenCutEnds ( ON_3dPointArray *  ends)

Requests the ends of the intersections that stop inside a mesh the operation splits (RH-97369): such a cut separates nothing. Nothing is computed unless requested. The pointer is borrowed; the array is appended to, not cleared.

Parameters
endsReceives the open cut ends, or null to disable.

◆ RequestOpenResults()

void CRhinoMeshBooleanOptions::RequestOpenResults ( ON_SimpleArray< int > *  results)

Requests the indices of the results that have naked edges although no input mesh had any. Nothing is computed unless requested. The pointer is borrowed; the array is appended to, not cleared.

Parameters
resultsReceives the result indices, or null to disable.

◆ RequestSourceMeshIndexMap()

void CRhinoMeshBooleanOptions::RequestSourceMeshIndexMap ( ON_ClassArray< ON_SimpleArray< int >> *  map)

Requests an input-to-output index map for the next boolean run (RH-94152). When set, the boolean fills 'map' with one entry per output mesh (parallel to the OutMeshes result), each listing the indices of the input meshes that contributed faces to that output. For the two-set operations (Difference/Intersection/Split) the indices are flat-concatenated: the first set occupies 0..n0-1 and the second set occupies n0..n0+n1-1. The pointer is borrowed; the caller owns the storage.

Parameters
mapReceives the per-output index sets, or null to disable.

◆ RequestUnmergedResultPairs()

void CRhinoMeshBooleanOptions::RequestUnmergedResultPairs ( ON_SimpleArray< ON_2dex > *  pairs)

Requests the pairs of union results that were left apart because joining them would have left naked edges, as indices into the results of the call. Nothing is computed unless requested. The pointer is borrowed; the array is appended to, not cleared.

Parameters
pairsReceives the index pairs, or null to disable.

◆ ResolveSelfIntersections()

bool CRhinoMeshBooleanOptions::ResolveSelfIntersections ( ) const

Returns the value set via SetResolveSelfIntersections.

◆ SetResolveSelfIntersections()

void CRhinoMeshBooleanOptions::SetResolveSelfIntersections ( bool  resolve)

Sets whether union, difference and intersection first read an input mesh that intersects itself, or whose closed parts nest in each other or are wound inside out, as the solid it encloses. When disabled, the default, this is done only when the result computed from the inputs as given has naked or non-manifold edges it should not have, or could not be computed, and the result from the resolved inputs has neither.

Parameters
resolveTrue to always resolve such inputs.

◆ SourceMeshIndexMap()

ON_ClassArray<ON_SimpleArray<int> >* CRhinoMeshBooleanOptions::SourceMeshIndexMap ( ) const

Returns the index map requested via RequestSourceMeshIndexMap, or null.

◆ UnmergedResultPairs()

ON_SimpleArray<ON_2dex>* CRhinoMeshBooleanOptions::UnmergedResultPairs ( ) const

Returns the array requested via RequestUnmergedResultPairs, or null.

Member Data Documentation

◆ m_cancel

ON_Terminator* CRhinoMeshBooleanOptions::m_cancel = nullptr

◆ m_ngons

bool CRhinoMeshBooleanOptions::m_ngons = true

◆ m_reporter

ON_ProgressReporter* CRhinoMeshBooleanOptions::m_reporter = nullptr

◆ m_text_log

ON_TextLog* CRhinoMeshBooleanOptions::m_text_log = nullptr