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

#include <FMMdlEdge.h>

Inheritance diagram for FacetModeler::Edge:
FacetModeler::Entity

Public Member Functions

 Edge ()
 
 Edge (Vertex *pVertex, Face *pFace, Edge *pPrevEdge, Edge *pPartner)
 
Face::EdgeLooploop () const
 
Faceface () const
 
Vertexvertex () const
 
VertexendVertex () const
 
const OdGePoint3dstartPoint () const
 
const OdGePoint3dendPoint () const
 
double length () const
 
OdGeVector3d vector () const
 
Edgenext () const
 
Edgeprev () const
 
Edgepair () const
 
EdgenextPartner () const
 
bool isPartner (const Edge *pEdge) const
 
bool isManifold () const
 
double angleBetweenEdges () const
 
double angleBetweenFaces () const
 
OdGeVector3d normal () const
 
OdGeVector3d direction () const
 
OdGeVector3d calculateLoopNormal () const
 
void addNext (Edge *pNext)
 
void set (Edge *pPrev, Edge *pNext)
 
void setNext (Edge *pNext)
 
void setPrev (Edge *pPrev)
 
void setPair (Edge *pPair)
 
void setVertex (Vertex *pVertex)
 
void setFace (Face *pFace)
 
void setLoop (Face::EdgeLoop *pLoop)
 
void setPartner (Edge *pPartner)
 
void addPartner (Edge *pPartner)
 
void removePartner ()
 
OdUInt32 color () const
 
void setColor (OdUInt32 iColor)
 
void zero ()
 
 ~Edge ()
 
const OdGePoint2dmappingCoord (bool &isInitialized) const
 
void setMappingCoord (const OdGePoint2d &coord)
 
- 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 ()
 

Friends

class Face
 
class Body
 
class BodyImpl
 

Detailed Description

Represents facet body edge objects.

Definition at line 40 of file FMMdlEdge.h.

Constructor & Destructor Documentation

◆ Edge() [1/2]

FacetModeler::Edge::Edge ( )

Default constructor.

◆ Edge() [2/2]

FacetModeler::Edge::Edge ( Vertex pVertex,
Face pFace,
Edge pPrevEdge,
Edge pPartner 
)

Creates an edge for a given face with specified start vertex, previous edge and edge partner (superposed edge).

Parameters
pVertex[in] Start vertex for edge.
pFace[in] Owner face.
pPrevEdge[in] Previous edge.
pPartner[in] Edge partner.

◆ ~Edge()

FacetModeler::Edge::~Edge ( )

Destructor.

Member Function Documentation

◆ addNext()

void FacetModeler::Edge::addNext ( Edge pNext)

Adds a next edge to the bidirectional list.

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

◆ addPartner()

void FacetModeler::Edge::addPartner ( Edge pPartner)

Adds a partner edge.

Parameters
pPartner[in] Partner edge pointer to add.
Remarks
For internal use only.

◆ angleBetweenEdges()

double FacetModeler::Edge::angleBetweenEdges ( ) const

Calculates a planar angle between this edge and the previous one.

Returns
A planar angle (in radians) between this edge and the previous one as a double value.
Remarks
Angle is measured in CCW direction with face normal as a reference vector. The value is in the range [ 0 .. Oda2PI ].

◆ angleBetweenFaces()

double FacetModeler::Edge::angleBetweenFaces ( ) const

Calculates an inner angle between the face that owns this edge and the neighboring face.

Returns
An inner angle (in radians) between the face that owns this edge and the neighboring face as a double value.
Remarks
The value is in the range [ 0 .. Oda2PI ]

◆ calculateLoopNormal()

OdGeVector3d FacetModeler::Edge::calculateLoopNormal ( ) const

Calculates the loop normal.

Returns
Edge loop normal multiplied by the area of the edge loop as OdGeVector3d.

◆ color()

OdUInt32 FacetModeler::Edge::color ( ) const

Gets the color of this edge.

Returns
The color of this edge as an OdUInt32 value.

◆ direction()

OdGeVector3d FacetModeler::Edge::direction ( ) const

Calculates the direction vector from the start of this edge to the start of the next one.

Returns
Edge direction vector as OdGeVector3d.

◆ endPoint()

const OdGePoint3d & FacetModeler::Edge::endPoint ( ) const
inline

Gets the end point of the edge as OdGePoint3d.

Returns
The end point.

Definition at line 427 of file FMMdlEdge.h.

◆ endVertex()

Vertex * FacetModeler::Edge::endVertex ( ) const
inline

Gets the end vertex.

Returns
Pointer to the last vertex on the edge.

Definition at line 415 of file FMMdlEdge.h.

◆ face()

Face * FacetModeler::Edge::face ( ) const

Gets the face that owns the edge.

Returns
Pointer to the face that owns the edge.

◆ isManifold()

bool FacetModeler::Edge::isManifold ( ) const

Checks whether the edge is manifold.

Returns
true if the edge is between exactly two faces, false otherwise.

◆ isPartner()

bool FacetModeler::Edge::isPartner ( const Edge pEdge) const

Checks if the specified edge is a partner edge (superposed edge) to this edge.

Returns
true if the edges are partners (superposed), false otherwise.

◆ length()

double FacetModeler::Edge::length ( ) const
inline

Calculates the length of the edge.

Returns
The length of the edge as a double value.

Definition at line 431 of file FMMdlEdge.h.

◆ loop()

Face::EdgeLoop * FacetModeler::Edge::loop ( ) const
inline

Gets the loop that owns the edge.

Returns
Pointer to the loop that owns the edge.

Definition at line 419 of file FMMdlEdge.h.

◆ mappingCoord()

const OdGePoint2d & FacetModeler::Edge::mappingCoord ( bool &  isInitialized) const

Gets the mapping coordinate of start vertex of this edge.

Parameters
isInitialized[out] Determines if the mapping coordinate value was initialized.
Returns
The mapping coordinate of start vertex of this edge.

◆ next()

Edge * FacetModeler::Edge::next ( ) const

Gets the next edge.

Returns
Pointer to the next connected edge.

◆ nextPartner()

Edge * FacetModeler::Edge::nextPartner ( ) const

Gets the next edge in a single-linked loop of superposed edges.

Returns
Pointer to the next superposed edge.

◆ normal()

OdGeVector3d FacetModeler::Edge::normal ( ) const

Calculates the unit normal of the edge on the face.

Returns
The unit normal vector to the edge.
Remarks
The vector is on the owner face.

◆ pair()

Edge * FacetModeler::Edge::pair ( ) const

Gets the manifold pair edge.

Returns
Pointer to the manifold pair edge.
Remarks
An epsilon-region between this->face() and pair()->face() must contain only INNER points of a valid 3D solid. The adjacent solid angle may contain inner and outer points.

◆ prev()

Edge * FacetModeler::Edge::prev ( ) const

Gets the previous edge.

Returns
Pointer to the previous connected edge.

◆ removePartner()

void FacetModeler::Edge::removePartner ( )

Removes the partner edge.

Remarks
For internal use only.

◆ set()

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

Sets pointers to the previous and next edges for this edge.

Parameters
pPrev[in] Previous edge pointer to set.
pNext[in] Next edge pointer to set.
Remarks
For internal use only.

◆ setColor()

void FacetModeler::Edge::setColor ( OdUInt32  iColor)

Sets the color of this edge.

Parameters
color[in] New color to set.

◆ setFace()

void FacetModeler::Edge::setFace ( Face pFace)

Sets the owner face of this edge.

Parameters
pFace[in] Pointer to the owner face to set.
Remarks
For internal use only.

◆ setLoop()

void FacetModeler::Edge::setLoop ( Face::EdgeLoop pLoop)
inline

Sets the owner loop.

Parameters
pLoop[in] Loop pointer to set.
Remarks
For internal use only.

Definition at line 439 of file FMMdlEdge.h.

◆ setMappingCoord()

void FacetModeler::Edge::setMappingCoord ( const OdGePoint2d coord)

Sets the mapping coordinate of start vertex of this edge.

Parameters
coord[in] New mapping coordinate to set.

◆ setNext()

void FacetModeler::Edge::setNext ( Edge pNext)

Sets a next edge.

Parameters
pNext[in] Next edge pointer to set.
Remarks
For internal use only.

◆ setPair()

void FacetModeler::Edge::setPair ( Edge pPair)

Sets a pair edge.

Parameters
pPair[in] Pair edge pointer to set.
Remarks
For internal use only.

◆ setPartner()

void FacetModeler::Edge::setPartner ( Edge pPartner)
inline

Sets a partner edge.

Parameters
pPartner[in] Partner edge pointer to set.
Remarks
For internal use only.

Definition at line 293 of file FMMdlEdge.h.

◆ setPrev()

void FacetModeler::Edge::setPrev ( Edge pPrev)

Sets a previous edge.

Parameters
pNext[in] Previous edge pointer to set.
Remarks
For internal use only.

◆ setVertex()

void FacetModeler::Edge::setVertex ( Vertex pVertex)

Sets a vertex of this edge.

Parameters
pVertex[in] Vertex pointer to set.
Remarks
For internal use only.

◆ startPoint()

const OdGePoint3d & FacetModeler::Edge::startPoint ( ) const
inline

Gets the start point of the edge as OdGePoint3d.

Returns
The start point.

Definition at line 423 of file FMMdlEdge.h.

◆ vector()

OdGeVector3d FacetModeler::Edge::vector ( ) const
inline

Gets a vector representation of the edge.

Returns
This edge as an OdGeVector3d object with direction from the start point to the end point.

Definition at line 435 of file FMMdlEdge.h.

◆ vertex()

Vertex * FacetModeler::Edge::vertex ( ) const

Gets the first vertex on the edge.

Returns
Pointer to the first vertex on the edge.

◆ zero()

void FacetModeler::Edge::zero ( )

Sets all pointers to NULL.

Friends And Related Function Documentation

◆ Body

friend class Body
friend

Definition at line 409 of file FMMdlEdge.h.

◆ BodyImpl

friend class BodyImpl
friend

Definition at line 410 of file FMMdlEdge.h.

◆ Face

friend class Face
friend

Definition at line 408 of file FMMdlEdge.h.


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