SOFA API  f37305c1
Open source framework for multi-physics simuation
sofa::component::topology::container::dynamic::PointToAdd Class Reference

#include <PointModifiers.h>

Detailed Description

This class store all the info to create a new point in the mesh taking into account estimated id id of duplicated point if this point will be splitted due to a cut. This structure also store all the ancestors and coefficient to efficently add this point into the current mesh.

Public Attributes

PointID m_uniqueID
 Unique ID of this point structure. Will be a code combining ancestors ids. More...
 
PointID m_idPoint = sofa::InvalidID
 Future pointID of this pointToAdd. More...
 
PointID m_idClone = sofa::InvalidID
 Future pointID of this pointToAdd if this point is duplicated due to a cut. More...
 
sofa::geometry::ElementType m_ancestorType = sofa::geometry::ElementType::UNKNOWN
 
core::topology::BaseMeshTopology::ElemID m_ownerId = sofa::InvalidID
 
sofa::type::vector< PointIDm_ancestors
 List of ancestors (existing point ID of the mesh) More...
 
sofa::type::vector< SReal > m_coefs
 List of corresponding coefficients. More...
 
bool m_isSnapped = false
 
SReal m_snapValue
 

Public Member Functions

 PointToAdd (PointID uniqueID, PointID idPoint, const sofa::type::vector< PointID > &ancestors, const sofa::type::vector< SReal > &coefs, SReal snapValue=1_sreal)
 
void updatePointIDForDuplication (bool split=true)
 
PointID getNbrNewPoint ()
 
void printValue ()
 

Attribute details

◆ m_ancestors

sofa::type::vector<PointID> sofa::component::topology::container::dynamic::PointToAdd::m_ancestors

List of ancestors (existing point ID of the mesh)

◆ m_ancestorType

sofa::geometry::ElementType sofa::component::topology::container::dynamic::PointToAdd::m_ancestorType = sofa::geometry::ElementType::UNKNOWN

◆ m_coefs

sofa::type::vector<SReal> sofa::component::topology::container::dynamic::PointToAdd::m_coefs

List of corresponding coefficients.

◆ m_idClone

PointID sofa::component::topology::container::dynamic::PointToAdd::m_idClone = sofa::InvalidID

Future pointID of this pointToAdd if this point is duplicated due to a cut.

◆ m_idPoint

PointID sofa::component::topology::container::dynamic::PointToAdd::m_idPoint = sofa::InvalidID

Future pointID of this pointToAdd.

◆ m_isSnapped

bool sofa::component::topology::container::dynamic::PointToAdd::m_isSnapped = false

◆ m_ownerId

core::topology::BaseMeshTopology::ElemID sofa::component::topology::container::dynamic::PointToAdd::m_ownerId = sofa::InvalidID

◆ m_snapValue

SReal sofa::component::topology::container::dynamic::PointToAdd::m_snapValue

◆ m_uniqueID

PointID sofa::component::topology::container::dynamic::PointToAdd::m_uniqueID

Unique ID of this point structure. Will be a code combining ancestors ids.

Constructor details

◆ PointToAdd()

sofa::component::topology::container::dynamic::PointToAdd::PointToAdd ( PointID  uniqueID,
PointID  idPoint,
const sofa::type::vector< PointID > &  ancestors,
const sofa::type::vector< SReal > &  coefs,
SReal  snapValue = 1_sreal 
)
inline

Function details

◆ getNbrNewPoint()

PointID sofa::component::topology::container::dynamic::PointToAdd::getNbrNewPoint ( )
inline

◆ printValue()

void sofa::component::topology::container::dynamic::PointToAdd::printValue ( )
inline

◆ updatePointIDForDuplication()

void sofa::component::topology::container::dynamic::PointToAdd::updatePointIDForDuplication ( bool  split = true)
inline