CFx SDK Documentation  2023 SP0
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 (FacetModeler::Vertex *pVertex, FacetModeler::Face *pFace, Edge *pPrevEdge, Edge *pPartner)
 
FacetModeler::Face::EdgeLoop * loop () const
 
FacetModeler::Face * face () const
 
FacetModeler::Vertex * vertex () const
 
FacetModeler::Vertex * next_vertex () const
 
const OdGePoint3d & startPoint () const
 
const OdGePoint3d & endPoint () const
 
double length () const
 
OdGeVector3d vector () const
 
Edge * next () const
 
Edge * prev () const
 
Edge * pair () const
 
Edge * nextPartner () 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 setNext (Edge *pNext)
 
void setPrev (Edge *pPrev)
 
void setPair (Edge *pPair)
 
void setVertex (FacetModeler::Vertex *pVertex)
 
void setFace (FacetModeler::Face *pFace)
 
void setLoop (FacetModeler::Face::EdgeLoop *pLoop)
 
void addPartner (Edge *pPartner)
 
void removePartner ()
 
void updatePartnerPairs ()
 
void debugValidate (bool bTestPartners=true) const
 DOM. More...
 
void debugValidateLoop (bool bTestPartners=true) const
 DOM. More...
 
void setColor (OdUInt32 iColor)
 
OdUInt32 color () const
 
void zero ()
 
void setPartner (Edge *pPartner)
 DOM. More...
 
 ~Edge ()
 
- Public Member Functions inherited from FacetModeler::Entity
 Entity ()
 
 Entity (const Entity &ent)
 
Entity & operator= (const Entity &)
 
virtual ~Entity ()
 
OdUInt32 flags () const
 
void setFlags (OdUInt32 iFlags)
 
bool isFlagOn (OdUInt32 iFlag) const
 
void setIsFlagOn (OdUInt32 iFlag, bool bOn)
 
FacetModeler::AecTagType tag () const
 
void setTag (FacetModeler::AecTagType nTag)
 

Friends

class Body
 
class BodyImpl
 
class Face
 
class BodyInternalConsistencyRestorer
 

Detailed Description

Facet body edge.

Definition at line 42 of file FMMdlEdge.h.

Constructor & Destructor Documentation

◆ Edge() [1/2]

FacetModeler::Edge::Edge ( )

Constructor.

◆ Edge() [2/2]

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

Constructor.

◆ ~Edge()

FacetModeler::Edge::~Edge ( )

Member Function Documentation

◆ addPartner()

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

Adds partner edge. Low level operation!

◆ angleBetweenEdges()

double FacetModeler::Edge::angleBetweenEdges ( ) const

Returns planar angle between this edge and the previous one.

Remarks
Angle is measured in CCW direction with face normal as Z axis. The value is in the range [ 0 .. Oda2PI ]

◆ angleBetweenFaces()

double FacetModeler::Edge::angleBetweenFaces ( ) const

Returns inner angle between this face and neighboring face.

Remarks
The value is in the range [ 0 .. Oda2PI ]

◆ calculateLoopNormal()

OdGeVector3d FacetModeler::Edge::calculateLoopNormal ( ) const

Returns edge loop normal multiplied by area of the edge loop.

◆ color()

OdUInt32 FacetModeler::Edge::color ( ) const

Gets color

◆ debugValidate()

void FacetModeler::Edge::debugValidate ( bool  bTestPartners = true) const

DOM.

◆ debugValidateLoop()

void FacetModeler::Edge::debugValidateLoop ( bool  bTestPartners = true) const

DOM.

◆ direction()

OdGeVector3d FacetModeler::Edge::direction ( ) const

Returns edge direction.

◆ endPoint()

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

Definition at line 266 of file FMMdlEdge.h.

◆ face()

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

Returns owner face.

◆ isManifold()

bool FacetModeler::Edge::isManifold ( ) const

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

◆ isPartner()

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

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

◆ length()

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

Definition at line 270 of file FMMdlEdge.h.

◆ loop()

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

Returns owner loop.

Definition at line 258 of file FMMdlEdge.h.

◆ next()

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

Returns next edge.

◆ next_vertex()

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

Definition at line 254 of file FMMdlEdge.h.

◆ nextPartner()

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

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

◆ normal()

OdGeVector3d FacetModeler::Edge::normal ( ) const

Returns unit normal vector to the edge.

Remarks
The vector points inside the owner face.

◆ pair()

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

Returns manifold pair edge.

Remarks
Some 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

Returns previous edge.

◆ removePartner()

void FacetModeler::Edge::removePartner ( )

Removes partner edge. Low level operation!

◆ setColor()

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

Sets color

◆ setFace()

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

Sets owner face. Low level operation!

◆ setLoop()

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

Definition at line 278 of file FMMdlEdge.h.

◆ setNext()

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

Sets next edge. Low level operation!

◆ setPair()

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

Sets pair edge. Low level operation!

◆ setPartner()

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

DOM.

Definition at line 212 of file FMMdlEdge.h.

◆ setPrev()

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

Sets prev edge. Low level operation!

◆ setVertex()

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

Sets vertex. Low level operation!

◆ startPoint()

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

Definition at line 262 of file FMMdlEdge.h.

◆ updatePartnerPairs()

void FacetModeler::Edge::updatePartnerPairs ( )

Updates list of partner edges. Low level operation!

◆ vector()

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

Definition at line 274 of file FMMdlEdge.h.

◆ vertex()

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

Returns first vertex.

◆ zero()

void FacetModeler::Edge::zero ( )

Friends And Related Function Documentation

◆ Body

friend class Body
friend

Definition at line 246 of file FMMdlEdge.h.

◆ BodyImpl

friend class BodyImpl
friend

Definition at line 247 of file FMMdlEdge.h.

◆ BodyInternalConsistencyRestorer

friend class BodyInternalConsistencyRestorer
friend

Definition at line 249 of file FMMdlEdge.h.

◆ Face

friend class Face
friend

Definition at line 248 of file FMMdlEdge.h.


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