CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdGiShellToolkit Class Referenceabstract

#include <GiShellToolkit.h>

Inheritance diagram for OdGiShellToolkit:
OdRxObject

Classes

struct  OdGiShellEdgeDescription
 
struct  OdGiShellEdgeVisibilityDescription
 
struct  OdGiShellEdgeVisibilityOptions
 
struct  OdGiShellFaceDescription
 
class  OdGiShellFaceOrientationCallback
 
struct  OdGiShellOriginalFaceDescription
 

Public Types

enum  ShellToolkitOption { kUnifyVertices = 1 , kTriangulateHoles = 1 << 1 , kForceTriangulation = 1 << 2 , kKeepInitialData = 1 << 3 }
 
typedef OdGeVector3d(* OdGiCalculateNormalCallback) (OdGiShellToolkit *pToolkit, OdUInt32 nVertexIndex)
 

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdGiShellToolkit)
 
virtual bool addShell (OdUInt32 nPoints, const OdGePoint3d *pPoints, OdUInt32 nFaces, const OdInt32 *pFaces, OdUInt8 options=OdGiShellToolkit::kTriangulateHoles)=0
 
virtual void clear ()=0
 
virtual bool hasDupilcateVertices () const =0
 
virtual OdUInt32 numSharpEdges (bool bOnlyCount=true) const =0
 
virtual OdUInt32 numSingularEdges (bool bOnlyCount=true) const =0
 
virtual OdUInt32 numDegeneratedFaces () const =0
 
virtual bool hasDuplicateFaces (OdUInt32 *pFirstDuplicateFace=NULL, bool bRollFaces=false) const =0
 
virtual bool checkFacesOrientation () const =0
 
virtual bool checkFacesOrientation (const OdGiShellFaceOrientationCallback *pCallback) const =0
 
virtual void unifyVertices ()=0
 
virtual void removeDegenerateFaces ()=0
 
virtual void removeDuplicateFaces (bool bRollFaces=false)=0
 
virtual bool fixFaceOrientation (bool bRestoreModel=true)=0
 
virtual bool fixFaceOrientation (const OdGiShellFaceOrientationCallback *pCallback, bool bRestoreModel=true)=0
 
virtual OdGeToltolerance ()=0
 
virtual const OdGeToltolerance () const =0
 
virtual OdUInt32 numVertices () const =0
 
virtual const OdGePoint3dvertices () const =0
 
virtual OdUInt32 faceListSize () const =0
 
virtual const OdInt32faceList () const =0
 
virtual void getSharpEdges (OdArray< OdGiShellEdgeDescription > &edges, bool bOnlyCount=true, bool bIgnoreZeroHoldes=false) const =0
 
virtual void getSingularEdges (OdArray< OdGiShellToolkit::OdGiShellEdgeDescription > &edges, bool bOnlyCount=true) const =0
 
virtual void getIncorrectOrientedFaces (OdArray< OdGiShellFaceDescription > &faces, bool bAddNotOriented=true) const =0
 
virtual void getIncorrectOrientedFaces (const OdGiShellFaceOrientationCallback *pCallback, OdArray< OdGiShellFaceDescription > &faces, bool bAddNotOriented=true) const =0
 
virtual bool getOriginalFaceDescription (OdUInt32 nFaceOffset, OdGiShellOriginalFaceDescription &result) const =0
 
virtual void filterEdgesByCreaseAngle (OdArray< OdGiShellToolkit::OdGiShellEdgeDescription > &edges, double dAngle) const =0
 
virtual OdUInt32 numNonTriangleFaces () const =0
 
virtual void triangulate ()=0
 
virtual bool calculateFaceNormals (OdArray< OdGeVector3d > &normals) const =0
 
virtual bool calculateAverageVertexNormals (OdArray< OdGeVector3d > &normals) const =0
 
virtual bool calculateAverageVertexNormals (OdArray< OdGeVector3d > &normals, double creaseAngelLimit, OdGiCalculateNormalCallback pCallback=NULL) const =0
 
virtual bool calculateEdgeVisibilitiesByCreaseAngle (OdArray< bool > &visibilities, double creaseAngle) const =0
 
virtual bool calculateEdgeVisibilitiesByCreaseAngle (OdArray< OdGiShellEdgeVisibilityDescription > &visibilities, double creaseAngle, const OdGiShellEdgeVisibilityOptions &options=OdGiShellEdgeVisibilityOptions()) const =0
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Static Public Member Functions

static OdSmartPtr< OdGiShellToolkitcreate ()
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 
static void rxInit ()
 
static void rxUninit ()
 

Detailed Description

A class that provides an interface for operations with a shell. <group OdGi_Classes>

See also
<link tv_geometry_shells, Work with Shells> <link tv_shell_boundary_detection, Shell Boundary Detection>

Definition at line 37 of file GiShellToolkit.h.

Member Typedef Documentation

◆ OdGiCalculateNormalCallback

typedef OdGeVector3d(* OdGiShellToolkit::OdGiCalculateNormalCallback) (OdGiShellToolkit *pToolkit, OdUInt32 nVertexIndex)

A data type that represents a pointer to a callback function for vertex normal calculation within custom applications.

Parameters
pToolkit[in] A pointer to the current <link OdGiShellToolkit, shell toolkit> instance.
nVertexIndex[in] An index of the vertex that is being processed.
Returns
An <exref target="https://docs.opendesign.com/tkernel/OdGeVector3d.html">OdGeVector3d</exref> object that represents the vertex normal.
Remarks
The implementation of the callback function must provide a normalized non-zero result.

Definition at line 453 of file GiShellToolkit.h.

Member Enumeration Documentation

◆ ShellToolkitOption

Contains declarations that represent options for shell management.

Enumerator
kUnifyVertices 

Combines vertices with the same coordinates into one vertex.

kTriangulateHoles 

Automatically triangulates faces if a shell has holes.

kForceTriangulation 

Automatically triangulates all faces.

kKeepInitialData 

Keeps holes and non-triangle faces in the model representation.

Definition at line 44 of file GiShellToolkit.h.

Member Function Documentation

◆ addShell()

virtual bool OdGiShellToolkit::addShell ( OdUInt32 nPoints,
const OdGePoint3d * pPoints,
OdUInt32 nFaces,
const OdInt32 * pFaces,
OdUInt8 options = OdGiShellToolkit::kTriangulateHoles )
pure virtual

Adds a shell to the <link OdGiShellToolkit, shell toolkit> object.

Parameters
nPoints[in] The number of vertices.
pPoints[in] An array of vertices that is represented with a pointer to its first element.
nFaces[in] The size of the face list.
pFaces[in] A face list. Each face is described with the number of vertices and indices from the vertex array (its size is equal to the number of vertices + 1).
options[in] A byte value that contains <link OdGiShellToolkit::ShellToolkitOption, shell toolkit options>.
Returns
The true value if shell data is successfully added to the toolkit model; otherwise, it returns false.
Remarks
If the <link OdGiShellToolkit::ShellToolkitOption::kUnifyVertices, kUnifyVertices> option is enabled, only vertices from the specified shell are unified; vertices from previously added shell data are not modified. The <link OdGiShellToolkit::ShellToolkitOption::kForceTriangulation, kForceTriangulation> option includes the <link OdGiShellToolkit::ShellToolkitOption::kTriangulateHoles, kTriangulateHoles> option, so if it is enabled, the <link OdGiShellToolkit::ShellToolkitOption::kTriangulateHoles, kTriangulateHoles> option is not required. If the <link OdGiShellToolkit::ShellToolkitOption::kTriangulateHoles, kTriangulateHoles> and <link OdGiShellToolkit::ShellToolkitOption::kForceTriangulation, kForceTriangulation> options are disabled, holes are not supported. The <link OdGiShellToolkit::ShellToolkitOption::kKeepInitialData, kKeepInitialData> option guarantees that the number of faces and vertices are not modified. This option disables other options and limits toolkit functionality. Also, this option is specified only when processing a single shell.

◆ calculateAverageVertexNormals() [1/2]

virtual bool OdGiShellToolkit::calculateAverageVertexNormals ( OdArray< OdGeVector3d > & normals) const
pure virtual

Calculates vertex average normals for the shell.

Parameters
normals[out] An array that stores the calculation results (normals are represented with <exref target="https://docs.opendesign.com/tkernel/OdGeVector3d.html">OdGeVector3d</exref> objects).
Returns
A Boolean value that is equal to true if all calculated normals are non-zero; otherwise, the method returns false.
Remarks
A normal index matches the vertex index in the vertex list. A normal being calculated as normalized is the sum of all face normals that contain vertices. A normal can be zero if a vertex is isolated or faces are not oriented in the same direction.

◆ calculateAverageVertexNormals() [2/2]

virtual bool OdGiShellToolkit::calculateAverageVertexNormals ( OdArray< OdGeVector3d > & normals,
double creaseAngelLimit,
OdGiCalculateNormalCallback pCallback = NULL ) const
pure virtual

Calculates vertex average normals for the shell.

Parameters
normals[out] An array that stores the calculation results (normals are represented with <exref target="https://docs.opendesign.com/tkernel/OdGeVector3d.html">OdGeVector3d</exref> objects).
creaseAngelLimit[in] A crease angle limit.
pCallback[in] A pointer to the callback function for the custom normal calculation (NULL by default).
Returns
A Boolean value that is equal to true if all calculated normals are non-zero; otherwise, the method returns false.
Remarks
A normal index matches the vertex index in the vertex list. A normal being calculated as normalized is the sum of all face normals that contain a vertex only if all angles between the face normals are less than the specified limit value. Otherwise, the callback function is called to calculate the normal. If the callback function is not specified, a zero normal for the vertex is returned. A normal can be zero when the vertex is isolated or faces are not oriented in the same direction. It can also be zero when the angle between the face normals is greater than the specified limit value and the callback function is not specified.

◆ calculateEdgeVisibilitiesByCreaseAngle() [1/2]

virtual bool OdGiShellToolkit::calculateEdgeVisibilitiesByCreaseAngle ( OdArray< bool > & visibilities,
double creaseAngle ) const
pure virtual

Calculates the visibility of the shell edges according to the crease angle.

Parameters
visibilities[out] An array of Boolean values that contain edge visibility flag values. The method fills it with visibility flag values and returns it to the calling subroutine.
creaseAngle[in] A crease angle limit.
Returns
The true value if the visibility flag values for edges are successfully calculated; otherwise, the method returns false.
Remarks
Sharp and singular edges are visible. Edges with an angle between connected face normals that is greater than the crease angle are visible too. For a single shell, the method generates a ready-to-use array of visibility flag values.

◆ calculateEdgeVisibilitiesByCreaseAngle() [2/2]

virtual bool OdGiShellToolkit::calculateEdgeVisibilitiesByCreaseAngle ( OdArray< OdGiShellEdgeVisibilityDescription > & visibilities,
double creaseAngle,
const OdGiShellEdgeVisibilityOptions & options = OdGiShellEdgeVisibilityOptions() ) const
pure virtual

Calculates the visibility of the shell edges according to the crease angle.

Parameters
visibilities[out] An array of Boolean values that contain edge visibility flag values. The method fills it with visibility flag values and returns it to the calling subroutine.
creaseAngle[in] A crease angle limit.
options[in] <link OdGiShellToolkit::OdGiShellEdgeVisibilityOptions, Visibility generation options>.
Returns
The true value if the visibility flag values for edges are successfully calculated; otherwise, the method returns false.
Remarks
Sharp and singular edges are visible. Edges with an angle between connected face normals that is greater than the crease angle are visible too. For multi-shell cases, the method generates data that contains connections with the original input. When two faces have a common visible edge, its visibility is represented in the output array with a single value if the <link OdGiShellToolkit::OdGiShellEdgeVisibilityOptions::bDuplicateEdges, bDuplicateEdges option> is equal to false; otherwise, the visibility is represented with two values (for AB and BA edges).

◆ calculateFaceNormals()

virtual bool OdGiShellToolkit::calculateFaceNormals ( OdArray< OdGeVector3d > & normals) const
pure virtual

Calculates face normals for the shell.

Parameters
normals[out] An array that stores face normals (represented with <exref target="https://docs.opendesign.com/tkernel/OdGeVector3d.html">OdGeVector3d</exref> objects).
Returns
A Boolean value that is equal to true if all calculated normals are non-zero; otherwise, the method returns false.
Remarks
This method calculates face normals according to the face plane and the face orientation. A normal index matches the face in the face list. A normal can be zero when the face is degenerated or not flat.

◆ checkFacesOrientation() [1/2]

virtual bool OdGiShellToolkit::checkFacesOrientation ( ) const
pure virtual

Checks the face orientations of a shell.

Returns
The true value when all faces are correctly oriented.
Remarks
The method is not relevant if the shell contains sharp or singular edges.

◆ checkFacesOrientation() [2/2]

virtual bool OdGiShellToolkit::checkFacesOrientation ( const OdGiShellFaceOrientationCallback * pCallback) const
pure virtual

Checks the face orientations of a shell using a face orientation callback.

Parameters
pCallback[in] A pointer to an <link OdGiShellToolkit::OdGiShellFaceOrientationCallback, OdGiShellFaceOrientationCallback> object.
Returns
The true value when all faces are correctly oriented.
Remarks
The method is relevant when the shell contains sharp or singular edges, and it can be used instead of the <link OdGiShellToolkit::checkFacesOrientation@const, checkFacesOrientation()> method.

◆ clear()

virtual void OdGiShellToolkit::clear ( )
pure virtual

Clears the <link OdGiShellToolkit, shell toolkit> object.

◆ create()

static OdSmartPtr< OdGiShellToolkit > OdGiShellToolkit::create ( )
static

Creates an instance of a <link OdGiShellToolkit, shell toolkit> implementation.

Returns
A smart pointer to the toolkit implementation.

◆ faceList()

virtual const OdInt32 * OdGiShellToolkit::faceList ( ) const
pure virtual

Requests the face list from the <link OdGiShellToolkit, shell toolkit> object. The face list contains the number of vertices in the first element and indices of vertices that belong to the face in other elements. Vertex indices refer to the elements of the shell vertex array.

Returns
A pointer to the first element of the face list.

◆ faceListSize()

virtual OdUInt32 OdGiShellToolkit::faceListSize ( ) const
pure virtual

Requests the size of the face list from the <link OdGiShellToolkit, shell toolkit> object.

Returns
An unsigned 32-bit integer value that contains the face list size.

◆ filterEdgesByCreaseAngle()

virtual void OdGiShellToolkit::filterEdgesByCreaseAngle ( OdArray< OdGiShellToolkit::OdGiShellEdgeDescription > & edges,
double dAngle ) const
pure virtual

Generates a list of edges with a crease angle that exceeds the threshold value.

Parameters
edges[out] An array of <link OdGiShellToolkit::OdGiShellEdgeDescription, OdGiShellEdgeDescription> objects. The method fills this array with information about edges and returns it to the calling subroutine.
dAngle[in] The threshold value of the crease angle.
Remarks
The method returns pairs of <link OdGiShellToolkit::OdGiShellEdgeDescription, OdGiShellEdgeDescription> objects; each pair describes the same edge but on different faces.

◆ fixFaceOrientation() [1/2]

virtual bool OdGiShellToolkit::fixFaceOrientation ( bool bRestoreModel = true)
pure virtual

Orients shell faces correctly.

Parameters
bRestoreModel[in] A flag that specifies whether the toolkit should restore the internal shell model.
Returns
The true value when orientation correction is successful; otherwise, it returns false.
Remarks
The method is not relevant if the shell contains sharp or singular edges. After face reorientation, the internal shell model becomes invalid. However, usually face reorientation is the last operation, so restoring the model may not be necessary. Further <link OdGiShellToolkit, toolkit> object usage after the <link OdGiShellToolkit::fixFaceOrientation@bool, fixFaceOrientation>(false) call without calling the <link OdGiShellToolkit::clear, clear()> method generates incorrect results.

◆ fixFaceOrientation() [2/2]

virtual bool OdGiShellToolkit::fixFaceOrientation ( const OdGiShellFaceOrientationCallback * pCallback,
bool bRestoreModel = true )
pure virtual

Orients shell faces correctly using a face orientation callback.

Parameters
pCallback[in] A pointer to the <link OdGiShellToolkit::OdGiShellFaceOrientationCallback, OdGiShellFaceOrientationCallback> object.
bRestoreModel[in] A flag that specifies whether the toolkit should restore the internal shell model.
Returns
The true value when orientation correction is successful; otherwise, it returns false.
Remarks
The method is relevant if the shell contains sharp or singular edges, and it can be used instead of the <link OdGiShellToolkit::fixFaceOrientation@bool, fixFaceOrientation()> method. After face reorientation, the internal shell model becomes invalid. However, usually face reorientation is the last operation, so restoring the model may not be necessary. Further <link OdGiShellToolkit, toolkit> object usage after the <link OdGiShellToolkit::fixFaceOrientation@bool, fixFaceOrientation>(false) call without calling the <link OdGiShellToolkit::clear, clear()> method generates incorrect results.

◆ getIncorrectOrientedFaces() [1/2]

virtual void OdGiShellToolkit::getIncorrectOrientedFaces ( const OdGiShellFaceOrientationCallback * pCallback,
OdArray< OdGiShellFaceDescription > & faces,
bool bAddNotOriented = true ) const
pure virtual

Provides access to incorrectly oriented faces.

Parameters
pCallback[in] A pointer to an <link OdGiShellToolkit::OdGiShellFaceOrientationCallback, OdGiShellFaceOrientationCallback> object.
faces[out] An array of <link OdGiShellToolkit::OdGiShellFaceDescription, OdGiShellFaceDescription> objects. The method fills this array with information about incorrectly oriented faces and returns it to the calling subroutine.
bAddNotOriented[in] A flag value that specifies whether the toolkit also includes non-oriented faces in the resulting array.

◆ getIncorrectOrientedFaces() [2/2]

virtual void OdGiShellToolkit::getIncorrectOrientedFaces ( OdArray< OdGiShellFaceDescription > & faces,
bool bAddNotOriented = true ) const
pure virtual

Retrieves incorrectly oriented faces.

Parameters
faces[out] An array of <link OdGiShellToolkit::OdGiShellFaceDescription, OdGiShellFaceDescription> objects. The method fills this array with information about incorrectly oriented faces and returns it to the calling subroutine.
bAddNotOriented[in] A flag value that specifies whether the toolkit also includes non-oriented faces in the resulting array.

◆ getOriginalFaceDescription()

virtual bool OdGiShellToolkit::getOriginalFaceDescription ( OdUInt32 nFaceOffset,
OdGiShellOriginalFaceDescription & result ) const
pure virtual

Provides access to the original face description.

Parameters
nFaceOffset[in] An offset of the face in the face list (that is returned by the <link OdGiShellToolkit::faceList@const, faceList(), faceList()> method).
result[out] A reference to an <link OdGiShellToolkit::OdGiShellOriginalFaceDescription, OdGiShellOriginalFaceDescription> object that contains the face description. The method fills this object with information about the face and returns it to the calling subroutine.
Returns
A Boolean value that is equal to true if the original face description is found; otherwise, the method returns false.

◆ getSharpEdges()

virtual void OdGiShellToolkit::getSharpEdges ( OdArray< OdGiShellEdgeDescription > & edges,
bool bOnlyCount = true,
bool bIgnoreZeroHoldes = false ) const
pure virtual

Retrieves the sharp edges of the shell.

Parameters
edges[out] An array of <link OdGiShellToolkit::OdGiShellEdgeDescription, OdGiShellEdgeDescription> objects. The method fills this array with information about sharp edges and returns it to the calling subroutine.
bOnlyCount[in] A flag value that specifies whether the toolkit checks only the number of connected faces or considers face orientation as well.
bIgnoreZeroHoldes[in] A flag value that indicates whether flat holes are included in the result array.
Remarks
A flat hole is a closed contour that consists of sharp edges that are parallel to each other.

◆ getSingularEdges()

virtual void OdGiShellToolkit::getSingularEdges ( OdArray< OdGiShellToolkit::OdGiShellEdgeDescription > & edges,
bool bOnlyCount = true ) const
pure virtual

Retrieves the singular edges of the shell.

Parameters
edges[out] An array of <link OdGiShellToolkit::OdGiShellEdgeDescription, OdGiShellEdgeDescription> objects. The method fills this array with information about singular edges and returns it to the calling subroutine.
bOnlyCount[in] A flag value that specifies whether the toolkit checks only the number of connected faces or considers face orientation as well.

◆ hasDupilcateVertices()

virtual bool OdGiShellToolkit::hasDupilcateVertices ( ) const
pure virtual

Checks whether a shell contains duplicate vertices.

Returns
The true value if the shell contains at least one pair of vertices with the same coordinates; otherwise, it returns false.

◆ hasDuplicateFaces()

virtual bool OdGiShellToolkit::hasDuplicateFaces ( OdUInt32 * pFirstDuplicateFace = NULL,
bool bRollFaces = false ) const
pure virtual

Checks whether a shell contains duplicate faces.

Parameters
pFirstDuplicateFace[out] A pointer to the first duplicate face.
bRollFaces[in] A flag that specifies whether the toolkit should roll faces to check for duplicates.
Returns
The true value when the shell contains duplicate faces; otherwise, it returns false.
Remarks
Faces like "1-2-3" and "2-3-1" are not equal without rolling.

◆ numDegeneratedFaces()

virtual OdUInt32 OdGiShellToolkit::numDegeneratedFaces ( ) const
pure virtual

Checks whether a shell contains degenerate faces.

Returns
An unsigned 32-bit integer value that contains the number of degenerate faces.

◆ numNonTriangleFaces()

virtual OdUInt32 OdGiShellToolkit::numNonTriangleFaces ( ) const
pure virtual

Requests the number of non-degenerated, non-triangulated faces.

Returns
An unsigned 32-bit integer value that contains the number of faces with more than three points.

◆ numSharpEdges()

virtual OdUInt32 OdGiShellToolkit::numSharpEdges ( bool bOnlyCount = true) const
pure virtual

Checks whether a shell contains sharp edges.

Parameters
bOnlyCount[in] A flag that specifies whether the toolkit checks only the number of connected faces (when it is equal to true) or considers the face orientation as well (when it is equal to false).
Returns
An unsigned 32-bit integer value that contains the number of sharp edges.

◆ numSingularEdges()

virtual OdUInt32 OdGiShellToolkit::numSingularEdges ( bool bOnlyCount = true) const
pure virtual

Checks whether a shell contains singular edges.

Parameters
bOnlyCount[in] A flag that specifies whether the toolkit checks only the number of connected faces (when it is equal to true) or considers the face orientation as well (when it is equal to false).
Returns
An unsigned 32-bit integer value that contains the number of singular edges.

◆ numVertices()

virtual OdUInt32 OdGiShellToolkit::numVertices ( ) const
pure virtual

Requests the number of vertices from the <link OdGiShellToolkit, shell toolkit> object.

Returns
An unsigned 32-bit integer that contains the number of vertices.

◆ ODRX_DECLARE_MEMBERS()

OdGiShellToolkit::ODRX_DECLARE_MEMBERS ( OdGiShellToolkit )

◆ removeDegenerateFaces()

virtual void OdGiShellToolkit::removeDegenerateFaces ( )
pure virtual

Removes degenerate faces.

◆ removeDuplicateFaces()

virtual void OdGiShellToolkit::removeDuplicateFaces ( bool bRollFaces = false)
pure virtual

Removes duplicate faces.

Parameters
bRollFaces[in] A flag that specifies whether the toolkit should roll faces to check for duplicates.
Remarks
Faces like "1-2-3" and "2-3-1" are not equal without rolling.

◆ tolerance() [1/2]

virtual const OdGeTol & OdGiShellToolkit::tolerance ( ) const
pure virtual

Retrieves the tolerance access for the <link OdGiShellToolkit, shell toolkit> object.

Returns
An <exref target="https://docs.opendesign.com/tkernel/OdGeTol.html">OdGeTol</exref> object that contains the <link OdGiShellToolkit, shell toolkit> tolerance.

◆ tolerance() [2/2]

virtual OdGeTol & OdGiShellToolkit::tolerance ( )
pure virtual

Retrieves the tolerance for the <link OdGiShellToolkit, shell toolkit> object.

Returns
An <exref target="https://docs.opendesign.com/tkernel/OdGeTol.html">OdGeTol</exref> object that contains the <link OdGiShellToolkit, shell toolkit> tolerance.
Remarks
The <exref target="https://docs.opendesign.com/tkernel/OdGeTol.html">OdGeTol</exref> object is returned via reference; therefore, the tolerance value can be modified outside the <link OdGiShellToolkit, shell toolkit> object.

◆ triangulate()

virtual void OdGiShellToolkit::triangulate ( )
pure virtual

Triangulates non-degenerated, non-triangulated faces.

◆ unifyVertices()

virtual void OdGiShellToolkit::unifyVertices ( )
pure virtual

Unifies shell vertices.

◆ vertices()

virtual const OdGePoint3d * OdGiShellToolkit::vertices ( ) const
pure virtual

Requests the array of shell vertices from the <link OdGiShellToolkit, shell toolkit> object.

Returns
A pointer to the first <exref target="https://docs.opendesign.com/tkernel/OdGePoint3d.html">element</exref> of the vertex array.

The documentation for this class was generated from the following file: