Computer Assited Medical Intervention Tool Kit  version 4.1
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 ()=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

StructurePropertiesproperties {nullptr}
 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, isInstanceOf(), xmlPrint(), and ~Structure().

◆ ~Structure()

virtual Structure::~Structure ( )
virtualdefault

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

Referenced by Structure().

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

◆ getName()

std::string Structure::getName ( ) const

get the name of the structure

References Properties::getName(), and properties.

Referenced by PMLExplorerWidget::createAtomPropertyList().

◆ getNumberOfStructuralComponents()

unsigned int Structure::getNumberOfStructuralComponents ( ) const
inline

get the number of StructuralComponent that are using this structure

References mySCs.

Referenced by Cell::makePrintData().

◆ getStructuralComponent()

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

get a particular StructuralComponent that is using this structure

References mySCs.

Referenced by Cell::makePrintData().

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

◆ 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 {nullptr}
protected

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