CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Friends | List of all members
FacetModeler::Face Class Reference

#include <FMMdlFace.h>

Inheritance diagram for FacetModeler::Face:
FacetModeler::Entity

Classes

struct  EdgeLoop
 

Public Member Functions

 Face ()
 
Facenext () const
 
void setNext (Face *pNext)
 
Faceprev () const
 
void setPrev (Face *pPrev)
 
void addNext (Face *pNext)
 
void set (Face *pPrev, Face *pNext)
 
const OdGePlaneplane () const
 
OdGeVector3d normal () const
 
bool isConvex () const
 
bool hasHoles () const
 
OdUInt32 loopCount () const
 
void setLoopCount (OdUInt32 n)
 
OdUInt32 loopEdgeCount (OdUInt32 iLoopIndex=0) const
 
Edgeedge (OdUInt32 nLoop=0) const
 
EdgeaddEdge (OdUInt32 nLoop, FacetModeler::Vertex *pVertex, bool bInverseOrder=false)
 
OdUInt32 findLoop (const Edge *pEdge) const
 
double area () const
 
void deletePlane () const
 
void clearVertexTags ()
 
void clearEdgeTags ()
 
void negate ()
 
void profile (Profile3D &rResult, const OdGePlane *pPlane=NULL, bool bIncludeHoles=true) const
 
void projection (const OdGePlane &plane, Profile2D &result, bool bIncludeHoles=true, OdArray< const Edge * > *pSourceEdges=NULL) const
 
FaceOrientation orientation () const
 
void setOrientation (FaceOrientation eOrientation)
 
bool intersectLine (const OdGeLinearEnt3d &gLine, OdGePoint3d *pptResult=NULL, bool *pbCoplanar=NULL) const
 
Surfacesurface () const
 
void setSurface (Surface *surface)
 
OdUInt32 color () const
 
void setColor (const OdUInt32 color)
 
void setEdgeLoop (EdgeLoop eloop)
 
EdgeLooploop (OdUInt32 nLoop) const
 
 ~Face ()
 
- Public Member Functions inherited from FacetModeler::Entity
 Entity ()
 
 Entity (const Entity &ent)
 
Entityoperator= (const Entity &entity)
 
OdUInt32 flags () const
 
void setFlags (OdUInt32 iFlags)
 
bool isFlagOn (OdUInt32 iFlag) const
 
void setIsFlagOn (OdUInt32 iFlag, bool bOn)
 
TagType tag () const
 
void setTag (TagType nTag)
 
virtual ~Entity ()
 

Protected Member Functions

 Face (const Face &face)
 
Faceoperator= (const Face &face)
 

Friends

class Edge
 
class Body
 
class BodyImpl
 
class BodyCustom
 
class BodyInternalConsistencyRestorer
 

Detailed Description

Represents facet body face objects.

Definition at line 42 of file FMMdlFace.h.

Constructor & Destructor Documentation

◆ Face() [1/2]

FacetModeler::Face::Face ( )

Default constructor.

◆ ~Face()

FacetModeler::Face::~Face ( )

Destructor.

◆ Face() [2/2]

FacetModeler::Face::Face ( const Face face)
protected

Copy constructor.

Parameters
face[in] Face to copy from.

Member Function Documentation

◆ addEdge()

Edge * FacetModeler::Face::addEdge ( OdUInt32  nLoop,
FacetModeler::Vertex pVertex,
bool  bInverseOrder = false 
)

Appends an edge to the loop specified by the index.

Parameters
nLoop[in] Index of the loop on this face.
pVertex[in] Pointer to the vertex for appending.
bInverseOrder[in] true for counting from the end.
Returns
Pointer to the added edge.

◆ addNext()

void FacetModeler::Face::addNext ( Face pNext)

Adds a face to the bidirectional list.

Parameters
pNext[in] Pointer to the face to add.

◆ area()

double FacetModeler::Face::area ( ) const

Calculates the face area.

Returns
Calculated area.

◆ clearEdgeTags()

void FacetModeler::Face::clearEdgeTags ( )

Clears edge tags.

◆ clearVertexTags()

void FacetModeler::Face::clearVertexTags ( )

Clears vertex tags.

◆ color()

OdUInt32 FacetModeler::Face::color ( ) const
inline

Gets the color of the current face.

Returns
The color of this face as an OdUInt32 value.

Definition at line 267 of file FMMdlFace.h.

◆ deletePlane()

void FacetModeler::Face::deletePlane ( ) const

Removes plane information.

◆ edge()

Edge * FacetModeler::Face::edge ( OdUInt32  nLoop = 0) const

Returns the first edge from a loop with the specified index.

Parameters
nLoop[in] Index of the loop.
Returns
Pointer to the first edge on the specified loop.
Remarks
Each face has at least one loop.

◆ findLoop()

OdUInt32 FacetModeler::Face::findLoop ( const Edge pEdge) const

Looks for an index of the loop that contains the specified edge on this face.

Parameters
pEdge[in] Pointer to the search edge.
Returns
Index of the loop if the loop is found, -1 otherwise.

◆ hasHoles()

bool FacetModeler::Face::hasHoles ( ) const

Checks whether the face has holes.

Returns
true if the face has holes; false otherwise.

◆ intersectLine()

bool FacetModeler::Face::intersectLine ( const OdGeLinearEnt3d gLine,
OdGePoint3d pptResult = NULL,
bool *  pbCoplanar = NULL 
) const

Checks if the input line intersects this face and calculates the intersection point.

Parameters
gLine[in] Input line to check for the intersection.
pptResult[out] (Optional) Resulting intersection point.
pbCoplanar[out] (Optional) Result of the coplanar check.
Returns
true if this face and the specified line intersect, false otherwise.
Remarks
If the line is in the plane of this face, the method returns false and sets *pbCoplanar to true.

◆ isConvex()

bool FacetModeler::Face::isConvex ( ) const

Checks whether the face is convex.

Returns
true if this face is convex; false otherwise.
Remarks
Currently not implemented.

◆ loop()

EdgeLoop * FacetModeler::Face::loop ( OdUInt32  nLoop) const

Gets the edge loop of this face by the specified index.

Parameters
nLoop[in] Index of the edge loop on this face.
Returns
Pointer to the found loop if it is found, NULL otherwise.

◆ loopCount()

OdUInt32 FacetModeler::Face::loopCount ( ) const

Gets the loop count.

Returns
Count of loops on this face.

◆ loopEdgeCount()

OdUInt32 FacetModeler::Face::loopEdgeCount ( OdUInt32  iLoopIndex = 0) const

Returns the loop edge count with the specified index of a loop.

Parameters
iLoopIndex[in] Index of the loop on this face.
Returns
Count of edges on the specified loop.

◆ negate()

void FacetModeler::Face::negate ( )

Inverts the face normal.

◆ next()

Face * FacetModeler::Face::next ( ) const

Gets a pointer to the next face.

Returns
Pointer to the next face object.

◆ normal()

OdGeVector3d FacetModeler::Face::normal ( ) const

Gets the normal of this face.

Returns
The normal of this face.

◆ operator=()

Face & FacetModeler::Face::operator= ( const Face face)
protected

Copies data from specified face.

Parameters
face[in] Face to copy from.
Returns
Reference to this object.

◆ orientation()

FaceOrientation FacetModeler::Face::orientation ( ) const

Gets the face orientation state of this face.

Returns
The face orientation as a FaceOrientation enum value.

◆ plane()

const OdGePlane & FacetModeler::Face::plane ( ) const

Gets the plane of this face.

Returns
The plane of this face as an OdGePlane object.

◆ prev()

Face * FacetModeler::Face::prev ( ) const

Gets the pointer to the previous face.

Returns
Pointer to the previous face object.

◆ profile()

void FacetModeler::Face::profile ( Profile3D rResult,
const OdGePlane pPlane = NULL,
bool  bIncludeHoles = true 
) const

Calculates a 3D profile with a transformation.

Parameters
rResult[out] Resulting three-dimensional profile.
pPlane[in] Pointer to the plane on which the result is projected.
bIncludeHoles[in] true for including holes in the result.

◆ projection()

void FacetModeler::Face::projection ( const OdGePlane plane,
Profile2D result,
bool  bIncludeHoles = true,
OdArray< const Edge * > *  pSourceEdges = NULL 
) const

Calculates an orthogonal projection of the face onto a given plane.

Parameters
plane[in] Plane on which the face is to be projected.
result[out] Resulting profile on the plane.
bIncludeHoles[in] true to include holes in the result.
pSourceEdges[in] The array of edges that are included in the resulting projection.

◆ set()

void FacetModeler::Face::set ( Face pPrev,
Face pNext 
)

Sets pointers to the previous and next faces.

Parameters
pPrev[in] Pointer to the previous face to set.
pNext[in] Pointer to the next face to set.

◆ setColor()

void FacetModeler::Face::setColor ( const OdUInt32  color)
inline

Sets the color of this face.

Parameters
color[in] New color to set.

Definition at line 274 of file FMMdlFace.h.

◆ setEdgeLoop()

void FacetModeler::Face::setEdgeLoop ( EdgeLoop  eloop)
inline

Sets the edge loops list of this face.

Parameters
eloop[in] EdgeLoop pointer to set.

Definition at line 321 of file FMMdlFace.h.

◆ setLoopCount()

void FacetModeler::Face::setLoopCount ( OdUInt32  n)

Sets the loop count.

Parameters
n[in] New loop count to set.

◆ setNext()

void FacetModeler::Face::setNext ( Face pNext)

Sets the pointer to the next face.

Parameters
pNext[in] Pointer to the next face to set.

◆ setOrientation()

void FacetModeler::Face::setOrientation ( FaceOrientation  eOrientation)

Sets the face orientation.

Parameters
eOrientation[in] New face orientation.

◆ setPrev()

void FacetModeler::Face::setPrev ( Face pPrev)

Sets the pointer to the previous face object.

Parameters
pPrev[in] Pointer to the previous face to set.

◆ setSurface()

void FacetModeler::Face::setSurface ( Surface surface)

Sets the surface of this face.

Parameters
surface[in] Surface pointer to set.

◆ surface()

Surface * FacetModeler::Face::surface ( ) const
inline

Gets the pointer to the surface of this face.

Returns
Pointer to the surface of this face.

Definition at line 253 of file FMMdlFace.h.

Friends And Related Function Documentation

◆ Body

friend class Body
friend

Definition at line 404 of file FMMdlFace.h.

◆ BodyCustom

friend class BodyCustom
friend

Definition at line 406 of file FMMdlFace.h.

◆ BodyImpl

friend class BodyImpl
friend

Definition at line 405 of file FMMdlFace.h.

◆ BodyInternalConsistencyRestorer

friend class BodyInternalConsistencyRestorer
friend

Definition at line 407 of file FMMdlFace.h.

◆ Edge

friend class Edge
friend

Definition at line 403 of file FMMdlFace.h.


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