Computer Assited Medical Intervention Tool Kit  version 4.0
Public Member Functions | Public Attributes | Protected Attributes | Private Attributes | List of all members
Structure Class Referenceabstract

Pure virtual class that represent an element of the structure. More...

#include <Structure.h>

Inherited by Atom, and Cell.

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...
 
StructuralComponentgetStructuralComponent (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 ()
 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

StructurePropertiesproperties
 Property of the current structure. More...
 

Private Attributes

std::vector< StructuralComponent * > mySCs
 list of StructuralComponent that are using this structure More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Structure()

Structure::Structure ( )
inline

Base constructor.

References hasIndex.

◆ ~Structure()

virtual Structure::~Structure ( )
inlinevirtual

Virtual destructor needed here as this is an abstract class (pure virtual)

References isInstanceOf(), and xmlPrint().

Member Function Documentation

◆ addStructuralComponent()

void Structure::addStructuralComponent ( StructuralComponent sc)
inlinevirtual

add a particular StructuralComponent in the list

Reimplemented in Cell.

References mySCs.

Referenced by Cell::addStructuralComponent(), and StructuralComponent::addStructure().

◆ getAllStructuralComponents()

std::vector< StructuralComponent * > Structure::getAllStructuralComponents ( )
inline

get the list of all the StructuralComponent that are using this structure

References mySCs.

Referenced by Reference::getDistanceToTriangularMesh().

◆ getIndex()

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(), AtomDC::AtomDC(), PMLExplorerWidget::buildAtomTreeWidgetItem(), PMLExplorerWidget::buildCellTreeWidgetItem(), MonitorNormDisplacement::calculate(), MonitorDistanceZ::calculate(), MonitorForce::calculate(), MonitorDistanceY::calculate(), MonitorGeometricDeviation::calculate(), MonitorRen::calculate(), MonitorDisplacement::calculate(), MonitorDistanceX::calculate(), Position::calculate(), CellDC::CellDC(), CreateSC::computeBoundsOfCellIds(), PMLExplorerWidget::createAtomPropertyList(), PMLExplorerWidget::createCellPropertyList(), LoadsEditor::createDCLoads(), SofaSimulator::createPml(), AtomDC::doubleClicked(), PhysicalModel::exportAnsysMesh(), PhysicalModel::exportPatran(), PMLTransform::generateExternalSurface(), PMLTransform::generateNeighborhood(), PhysicalModel::getAtom(), AtomDCProperties::getIndex(), Reference::getNearest(), MonitoringManager::getOldPosition(), PhysicalModel::getPositionPointer(), LoadsSimulationDriver::init(), Monitor::Monitor(), PhysicalModel::parseComponents(), StructuralComponentDCPopup::saveToCsv(), PMLComponent::selectCell(), PhysicalModel::setAtoms(), SofaSimulator::SofaSimulator(), LoadsSimulationDriver::updateAtomData(), Simulator::updatePositions(), CellDCProperties::updateProperties(), AtomDCProperties::updateProperties(), AtomDCWidget::updateProperties(), Cell::xmlPrint(), and Atom::xmlPrint().

◆ getName()

std::string Structure::getName ( ) const

get the name of the structure

References Properties::getName(), and properties.

Referenced by AtomDC::AtomDC(), and PMLExplorerWidget::createAtomPropertyList().

◆ getNumberOfStructuralComponents()

unsigned int Structure::getNumberOfStructuralComponents ( ) const
inline

get the number of StructuralComponent that are using this structure

References mySCs.

Referenced by CellDC::initRepresentation(), Cell::makePrintData(), AtomDC::updatePosition(), and AtomDCWidget::updateProperties().

◆ getStructuralComponent()

StructuralComponent * Structure::getStructuralComponent ( unsigned int  i)
inline

◆ getType()

StructureProperties::GeometricType Structure::getType ( ) const

◆ isInstanceOf()

virtual bool Structure::isInstanceOf ( const char *  ) const
pure virtual

pure virtual method, implemented in the child-class

Implemented in Atom, and Cell.

Referenced by StructuralComponent::getAtoms(), StructuralComponent::isCompatible(), PhysicalModel::optimizeIndexes(), and ~Structure().

◆ removeStructuralComponent()

void Structure::removeStructuralComponent ( StructuralComponent sc)
inline

remove a particular StructuralComponent from the list

References mySCs.

Referenced by Cell::deleteAllStructures(), and StructuralComponent::removeStructure().

◆ setIndex()

bool Structure::setIndex ( const unsigned int  newIndex)
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.

Returns
true only if the index of the structure was changed

Reimplemented in Cell, and Atom.

References hasIndex, properties, and StructureProperties::setIndex().

Referenced by Atom::setIndex(), and Cell::setIndex().

◆ setName()

void Structure::setName ( std::string  n)

set the name of the structure

References properties, and Properties::setName().

Referenced by AtomDC::setName().

◆ setPhysicalModel()

void Structure::setPhysicalModel ( PhysicalModel pm)
virtual

set the physical model

References properties, and Properties::setPhysicalModel().

Referenced by StructuralComponent::setPhysicalModel().

◆ xmlPrint()

virtual void Structure::xmlPrint ( std::ostream &  ,
const StructuralComponent  
)
pure virtual

print to an output stream in "pseaudo" XML format.

this method is called by the structural component that includes this structure.

Implemented in Atom, and Cell.

Referenced by ~Structure().

Member Data Documentation

◆ hasIndex

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().

◆ mySCs

std::vector<StructuralComponent *> Structure::mySCs
private

◆ properties

StructureProperties* Structure::properties
protected

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