Pure virtual class that represent an element of the structure. This implies that every structure could be represented in 3D and is a part of a structural component. More...
#include <Structure.h>
Public Member Functions | |
virtual void | addStructuralComponent (StructuralComponent *) |
add a particular StructuralComponent in the list More... | |
std::vector< StructuralComponent * > | getAllStructuralComponents () |
get the list of all the StructuralComponent that are using this structure More... | |
unsigned int | getIndex () const |
get the structure unique index (stored in its property) More... | |
std::string | getName () const |
get the name of the structure More... | |
unsigned int | getNumberOfStructuralComponents () const |
get the number of StructuralComponent that are using this structure More... | |
StructuralComponent * | getStructuralComponent (unsigned int i) |
get a particular StructuralComponent that is using this structure More... | |
StructureProperties::GeometricType | getType () const |
get the type of index More... | |
virtual bool | isInstanceOf (const char *) const =0 |
pure virtual method, implemented in the child-class More... | |
void | removeStructuralComponent (StructuralComponent *) |
remove a particular StructuralComponent from the list More... | |
virtual bool | setIndex (const unsigned int) |
set the index. More... | |
void | setName (std::string) |
set the name of the structure More... | |
virtual void | setPhysicalModel (PhysicalModel *) |
set the physical model More... | |
Structure () | |
Base constructor. More... | |
virtual void | xmlPrint (std::ostream &, const StructuralComponent *)=0 |
print to an output stream in "pseaudo" XML format. More... | |
virtual | ~Structure ()=default |
Virtual destructor needed here as this is an abstract class (pure virtual) More... | |
Public Attributes | |
bool | hasIndex |
indicate if the Structure has an index (which is not the case all the time) More... | |
Protected Attributes | |
StructureProperties * | properties {nullptr} |
Property of the current structure. More... | |
Private Attributes | |
std::vector< StructuralComponent * > | mySCs |
list of StructuralComponent that are using this structure More... | |
Pure virtual class that represent an element of the structure. This implies that every structure could be represented in 3D and is a part of a structural component.
|
inline |
Base constructor.
References hasIndex.
|
virtualdefault |
Virtual destructor needed here as this is an abstract class (pure virtual)
|
inlinevirtual |
add a particular StructuralComponent in the list
Reimplemented in Cell.
References mySCs.
Referenced by Cell::addStructuralComponent(), and StructuralComponent::addStructure().
|
inline |
get the list of all the StructuralComponent that are using this structure
References mySCs.
unsigned int Structure::getIndex | ( | ) | const |
get the structure unique index (stored in its property)
References StructureProperties::getIndex(), and properties.
Referenced by PhysicalModel::addAtom(), SurfaceExtractor::AddCell(), PMLExplorerWidget::buildAtomTreeWidgetItem(), PMLExplorerWidget::buildCellTreeWidgetItem(), MonitorNormDisplacement::calculate(), MonitorDisplacement::calculate(), MonitorForce::calculate(), MonitorDistanceZ::calculate(), MonitorGeometricDeviation::calculate(), MonitorRen::calculate(), MonitorDistanceY::calculate(), MonitorDistanceX::calculate(), Position::calculate(), CreateSC::computeBoundsOfCellIds(), PMLExplorerWidget::createCellPropertyList(), PhysicalModel::exportAnsysMesh(), PhysicalModel::exportPatran(), SurfaceExtractor::generateExternalSurface(), PMLTransform::generateExternalSurface(), PMLTransform::generateNeighborhood(), PhysicalModel::getAtom(), Reference::getNearest(), Monitor::Monitor(), PhysicalModel::parseComponents(), PMLComponent::selectCell(), SofaSimulator::SofaSimulator(), Simulator::updatePositions(), Cell::xmlPrint(), and Atom::xmlPrint().
std::string Structure::getName | ( | ) | const |
get the name of the structure
References Properties::getName(), and properties.
|
inline |
get the number of StructuralComponent that are using this structure
References mySCs.
Referenced by Cell::makePrintData().
|
inline |
get a particular StructuralComponent that is using this structure
References mySCs.
Referenced by Cell::makePrintData().
StructureProperties::GeometricType Structure::getType | ( | ) | const |
get the type of index
References StructureProperties::getType(), and properties.
Referenced by SurfaceExtractor::AddCell(), PMLComponent::cellToVTK(), PhysicalModel::exportAnsysMesh(), PhysicalModel::exportPatran(), PMLTransform::generateExternalSurface(), PMLTransform::generateNeighborhood(), Cell::getQuadFaces(), Cell::getTriangleFaces(), Cell::normal(), SofaSimulator::SofaSimulator(), Cell::surface(), and Cell::volume().
|
pure virtual |
pure virtual method, implemented in the child-class
Implemented in Atom, and Cell.
Referenced by StructuralComponent::getAtoms(), StructuralComponent::isCompatible(), and PhysicalModel::optimizeIndexes().
|
inline |
remove a particular StructuralComponent from the list
References mySCs.
Referenced by StructuralComponent::removeStructure().
|
virtual |
set the index.
The index have to be unique otherwise this method has no effect. The sub-classes method will check that this index is not in use.
Reimplemented in Cell, and Atom.
References hasIndex, properties, and StructureProperties::setIndex().
Referenced by Atom::setIndex(), and Cell::setIndex().
void Structure::setName | ( | std::string | n | ) |
set the name of the structure
References properties, and Properties::setName().
Referenced by PMLExplorerWidget::propertyChanged().
|
virtual |
set the physical model
References properties, and Properties::setPhysicalModel().
Referenced by StructuralComponent::setPhysicalModel().
|
pure virtual |
bool Structure::hasIndex |
indicate if the Structure has an index (which is not the case all the time)
Referenced by PMLExplorerWidget::buildCellTreeWidgetItem(), setIndex(), and Structure().
|
private |
list of StructuralComponent that are using this structure
Referenced by addStructuralComponent(), getAllStructuralComponents(), getNumberOfStructuralComponents(), getStructuralComponent(), and removeStructuralComponent().
|
protected |
Property of the current structure.
Referenced by Atom::Atom(), Cell::Cell(), getIndex(), getName(), Cell::getProperties(), Atom::getProperties(), getType(), setIndex(), Atom::setIndex(), setName(), setPhysicalModel(), Cell::xmlPrint(), Atom::xmlPrint(), Atom::~Atom(), and Cell::~Cell().