MEPP2 Project
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
FEVV::DataStructures::AIF::AIFFace Class Reference

This class represents a face used by AIFMesh objects. An AIFFace natively saves relations with its incident edges (AIFEdge). In addition, relations with its incident vertices (AIFVertex) are saved on demand. More...

#include <AIFFace.hpp>

Collaboration diagram for FEVV::DataStructures::AIF::AIFFace:
Collaboration graph

Public Types

typedef AIFFace self
 
typedef boost::shared_ptr< selfptr
 
typedef boost::shared_ptr< selfptr_face
 
typedef AIFVertex vertex_type
 
typedef AIFEdge edge_type
 
typedef boost::shared_ptr< vertex_typeptr_vertex
 
typedef boost::shared_ptr< edge_typeptr_edge
 
typedef std::vector< ptr_vertexVertexContainerType
 
typedef std::vector< ptr_edgeEdgeContainerType
 
typedef std::vector< ptr_faceFaceContainerType
 
typedef double NormalCoordinateType
 

Public Member Functions

std::size_t GetIndex () const
 
void SetIndex (std::size_t idx)
 
boost::iterator_range< VertexContainerType::const_iterator > GetIncidentVertices ()
 
boost::iterator_range< EdgeContainerType::const_iterator > GetIncidentEdges () const
 
boost::iterator_range< EdgeContainerType::iterator > GetIncidentEdges ()
 
unsigned int GetDegree ()
 
void Print () const
 
void clear_vertex_incidency ()
 
bool operator< (const self &other) const
 
bool operator== (const self &other) const
 
bool operator!= (const self &other) const
 
bool operator<= (const self &other) const
 
bool operator>= (const self &other) const
 
bool operator> (const self &other) const
 

Static Public Member Functions

static ptr_face New ()
 
static ptr_face New (const self &other)
 

Private Member Functions

 AIFFace ()
 
 AIFFace (const self &other)
 

Private Attributes

std::size_t m_Index
 
EdgeContainerType m_Incident_PtrEdges
 
VertexContainerType m_Incident_PtrVertices
 
bool m_Is_Incident_PtrVertices_Computed
 

Friends

class AIFTopologyHelpers
 

Detailed Description

This class represents a face used by AIFMesh objects. An AIFFace natively saves relations with its incident edges (AIFEdge). In addition, relations with its incident vertices (AIFVertex) are saved on demand.

See also
AIFVertex
AIFEdge

Definition at line 45 of file AIFFace.hpp.

Member Typedef Documentation

◆ edge_type

Definition at line 56 of file AIFFace.hpp.

◆ EdgeContainerType

Definition at line 61 of file AIFFace.hpp.

◆ FaceContainerType

Definition at line 62 of file AIFFace.hpp.

◆ NormalCoordinateType

Definition at line 64 of file AIFFace.hpp.

◆ ptr

typedef boost::shared_ptr< self > FEVV::DataStructures::AIF::AIFFace::ptr

Definition at line 52 of file AIFFace.hpp.

◆ ptr_edge

Definition at line 58 of file AIFFace.hpp.

◆ ptr_face

typedef boost::shared_ptr< self > FEVV::DataStructures::AIF::AIFFace::ptr_face

Definition at line 53 of file AIFFace.hpp.

◆ ptr_vertex

Definition at line 57 of file AIFFace.hpp.

◆ self

Definition at line 51 of file AIFFace.hpp.

◆ vertex_type

Definition at line 55 of file AIFFace.hpp.

◆ VertexContainerType

Definition at line 60 of file AIFFace.hpp.

Constructor & Destructor Documentation

◆ AIFFace() [1/2]

FEVV::DataStructures::AIF::AIFFace::AIFFace ( )
inlineprivate

AIFFace default constructor.

Definition at line 93 of file AIFFace.hpp.

◆ AIFFace() [2/2]

FEVV::DataStructures::AIF::AIFFace::AIFFace ( const self other)
inlineprivate
  AIFFace copy constructor
  Be careful, it create a new AIFFace with the same native

incidence relations AND the same index.

Definition at line 103 of file AIFFace.hpp.

Member Function Documentation

◆ clear_vertex_incidency()

void FEVV::DataStructures::AIF::AIFFace::clear_vertex_incidency ( )
inline

Clear vertex incidency caching.

Definition at line 186 of file AIFFace.hpp.

◆ GetDegree()

unsigned int FEVV::DataStructures::AIF::AIFFace::GetDegree ( )
inline
  Degree getter
Returns
The number of incident edges of the involved face.

Definition at line 173 of file AIFFace.hpp.

◆ GetIncidentEdges() [1/2]

boost::iterator_range< EdgeContainerType::iterator > FEVV::DataStructures::AIF::AIFFace::GetIncidentEdges ( )
inline
  Native incidence relations getter
Returns
An iterator range on the incident edges (AIFEdge pointer) of the involved face.

Definition at line 163 of file AIFFace.hpp.

◆ GetIncidentEdges() [2/2]

boost::iterator_range< EdgeContainerType::const_iterator > FEVV::DataStructures::AIF::AIFFace::GetIncidentEdges ( ) const
inline
  Native incidence relations getter
Returns
An iterator range on the incident edges (AIFEdge pointer) of the involved face.

Definition at line 152 of file AIFFace.hpp.

◆ GetIncidentVertices()

boost::iterator_range< AIFFace::VertexContainerType::const_iterator > FEVV::DataStructures::AIF::AIFFace::GetIncidentVertices ( )
inline
  Native incidence relations getter
Returns
An iterator range on the incident vertices (AIFVertex pointer) of the involved face.

Definition at line 47 of file AIFFace.inl.

Here is the call graph for this function:

◆ GetIndex()

std::size_t FEVV::DataStructures::AIF::AIFFace::GetIndex ( ) const
inline
  Index getter
Returns
The index of the involved face.

Definition at line 130 of file AIFFace.hpp.

◆ New() [1/2]

AIFFace::ptr_face FEVV::DataStructures::AIF::AIFFace::New ( )
inlinestatic
  Static constructor method
Returns
A pointer to a new instance of AIFFace class.

Definition at line 19 of file AIFFace.inl.

Here is the caller graph for this function:

◆ New() [2/2]

AIFFace::ptr_face FEVV::DataStructures::AIF::AIFFace::New ( const self other)
inlinestatic
  Static constructor method
Parameters
otherThe face to copy.
Returns
A pointer to a new instance of AIFFace class.

Definition at line 27 of file AIFFace.inl.

◆ operator!=()

bool FEVV::DataStructures::AIF::AIFFace::operator!= ( const self other) const
inline
  difference operator
Parameters
otherThe second face to compare with the current one.
Returns
True if the current AIFFace is different from other one. Else return false;

Definition at line 214 of file AIFFace.hpp.

◆ operator<()

bool FEVV::DataStructures::AIF::AIFFace::operator< ( const self other) const
inline
  Less operator (natural ordering)
Parameters
otherThe second face to compare with the current one.
Returns
True if the current AIFFace is strictly less than the other one. Else return false;

Definition at line 200 of file AIFFace.hpp.

◆ operator<=()

bool FEVV::DataStructures::AIF::AIFFace::operator<= ( const self other) const
inline
  Less or equals operator
Parameters
otherThe second face to compare with the current one.
Returns
True if the current AIFFace is less or equal to other one. Else return false;

Definition at line 221 of file AIFFace.hpp.

◆ operator==()

bool FEVV::DataStructures::AIF::AIFFace::operator== ( const self other) const
inline
  equality operator
Parameters
otherThe second face to compare with the current one.
Returns
True if the current AIFFace is equal to other one. Else return false;

Definition at line 207 of file AIFFace.hpp.

◆ operator>()

bool FEVV::DataStructures::AIF::AIFFace::operator> ( const self other) const
inline
  Greater operator
Parameters
otherThe second face to compare with the current one.
Returns
True if the current AIFFace is strictly greater to other one. Else return false;

Definition at line 238 of file AIFFace.hpp.

◆ operator>=()

bool FEVV::DataStructures::AIF::AIFFace::operator>= ( const self other) const
inline
  Greater or equals operator
Parameters
otherThe second face to compare with the current one.
Returns
True if the current AIFFace is greater or equal to other one. Else return false;

Definition at line 231 of file AIFFace.hpp.

◆ Print()

void FEVV::DataStructures::AIF::AIFFace::Print ( ) const
inline
  Print the textual description of the involved face on the standard

output.

Definition at line 35 of file AIFFace.inl.

◆ SetIndex()

void FEVV::DataStructures::AIF::AIFFace::SetIndex ( std::size_t  idx)
inline
  Index setter
Parameters
Theindex of the involved face.

Definition at line 135 of file AIFFace.hpp.

Friends And Related Function Documentation

◆ AIFTopologyHelpers

friend class AIFTopologyHelpers
friend

Definition at line 48 of file AIFFace.hpp.

Member Data Documentation

◆ m_Incident_PtrEdges

EdgeContainerType FEVV::DataStructures::AIF::AIFFace::m_Incident_PtrEdges
private

Container on incident edges (AIFEdge pointer).

Definition at line 74 of file AIFFace.hpp.

◆ m_Incident_PtrVertices

VertexContainerType FEVV::DataStructures::AIF::AIFFace::m_Incident_PtrVertices
private
  Container on incident vertices (AIFVertex pointer).
  This container is filled only on demand and is modified if

necessary.

Definition at line 82 of file AIFFace.hpp.

◆ m_Index

std::size_t FEVV::DataStructures::AIF::AIFFace::m_Index
private

AIFFace unique index.

Definition at line 70 of file AIFFace.hpp.

◆ m_Is_Incident_PtrVertices_Computed

bool FEVV::DataStructures::AIF::AIFFace::m_Is_Incident_PtrVertices_Computed
private

Face-incident-vertices cache validity flag.

Definition at line 87 of file AIFFace.hpp.


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