CFx SDK Documentation  2022 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::EdgeLooploop () const
 
FacetModeler::Faceface () const
 
FacetModeler::Vertexvertex () const
 
FacetModeler::Vertexnext_vertex () 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 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)
 
Entityoperator= (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: