|
CFx SDK Documentation 2026 SP0
|
#include <GiShellToolkit.h>
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 OdGeTol & | tolerance ()=0 |
| virtual const OdGeTol & | tolerance () const =0 |
| virtual OdUInt32 | numVertices () const =0 |
| virtual const OdGePoint3d * | vertices () const =0 |
| virtual OdUInt32 | faceListSize () const =0 |
| virtual const OdInt32 * | faceList () 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 OdRxObject * | queryX (const OdRxClass *pClass) const |
| virtual OdRxObject * | x (const OdRxClass *pClass) const |
| virtual OdRxClass * | isA () 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< OdGiShellToolkit > | create () |
Static Public Member Functions inherited from OdRxObject | |
| static OdRxObjectPtr | cast (const OdRxObject *pointer) |
| static OdRxClass * | desc () |
| static void | rxInit () |
| static void | rxUninit () |
A class that provides an interface for operations with a shell. <group OdGi_Classes>
Definition at line 37 of file GiShellToolkit.h.
| 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.
| pToolkit | [in] A pointer to the current <link OdGiShellToolkit, shell toolkit> instance. |
| nVertexIndex | [in] An index of the vertex that is being processed. |
Definition at line 453 of file GiShellToolkit.h.
Contains declarations that represent options for shell management.
Definition at line 44 of file GiShellToolkit.h.
|
pure virtual |
Adds a shell to the <link OdGiShellToolkit, shell toolkit> object.
| 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>. |
|
pure virtual |
Calculates vertex average normals for the shell.
| 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). |
|
pure virtual |
Calculates vertex average normals for the shell.
| 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). |
|
pure virtual |
Calculates the visibility of the shell edges according to the crease angle.
| 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. |
|
pure virtual |
Calculates the visibility of the shell edges according to the crease angle.
| 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>. |
|
pure virtual |
Calculates face normals for the shell.
| normals | [out] An array that stores face normals (represented with <exref target="https://docs.opendesign.com/tkernel/OdGeVector3d.html">OdGeVector3d</exref> objects). |
|
pure virtual |
Checks the face orientations of a shell.
|
pure virtual |
Checks the face orientations of a shell using a face orientation callback.
| pCallback | [in] A pointer to an <link OdGiShellToolkit::OdGiShellFaceOrientationCallback, OdGiShellFaceOrientationCallback> object. |
|
pure virtual |
Clears the <link OdGiShellToolkit, shell toolkit> object.
|
static |
Creates an instance of a <link OdGiShellToolkit, shell toolkit> implementation.
|
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.
|
pure virtual |
Requests the size of the face list from the <link OdGiShellToolkit, shell toolkit> object.
|
pure virtual |
Generates a list of edges with a crease angle that exceeds the threshold value.
| 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. |
|
pure virtual |
Orients shell faces correctly.
| bRestoreModel | [in] A flag that specifies whether the toolkit should restore the internal shell model. |
|
pure virtual |
Orients shell faces correctly using a face orientation callback.
| 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. |
|
pure virtual |
Provides access to incorrectly oriented faces.
| 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. |
|
pure virtual |
Retrieves incorrectly oriented faces.
| 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. |
|
pure virtual |
Provides access to the original face description.
| 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. |
|
pure virtual |
Retrieves the sharp edges of the shell.
| 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. |
|
pure virtual |
Retrieves the singular edges of the shell.
| 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. |
|
pure virtual |
Checks whether a shell contains duplicate vertices.
|
pure virtual |
Checks whether a shell contains duplicate faces.
| 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. |
|
pure virtual |
Checks whether a shell contains degenerate faces.
|
pure virtual |
Requests the number of non-degenerated, non-triangulated faces.
Checks whether a shell contains sharp edges.
| 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). |
Checks whether a shell contains singular edges.
| 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). |
|
pure virtual |
Requests the number of vertices from the <link OdGiShellToolkit, shell toolkit> object.
| OdGiShellToolkit::ODRX_DECLARE_MEMBERS | ( | OdGiShellToolkit | ) |
|
pure virtual |
Removes degenerate faces.
Removes duplicate faces.
| bRollFaces | [in] A flag that specifies whether the toolkit should roll faces to check for duplicates. |
|
pure virtual |
Retrieves the tolerance access for the <link OdGiShellToolkit, shell toolkit> object.
|
pure virtual |
Retrieves the tolerance for the <link OdGiShellToolkit, shell toolkit> object.
|
pure virtual |
Triangulates non-degenerated, non-triangulated faces.
|
pure virtual |
Unifies shell vertices.
|
pure virtual |
Requests the array of shell vertices from the <link OdGiShellToolkit, shell toolkit> object.