Computer Assited Medical Intervention Tool Kit  version 3.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Enumerations

Physical Model markup Language. More...

+ Collaboration diagram for PML:

Classes

class  Atom
 An atom has an unique index in the physical model object, a 3D position, and different basic properties. More...
 
class  BasicAtomProperties
 This class is the basic Atom Properties class. More...
 
class  BasicCellProperties
 Describes the properties common to all cells. More...
 
class  BasicSCProperties
 A special class to manage the basic structural component properties. More...
 
class  Cell
 A cell has an unique index in the physical model object, is composed by atoms, and different basic properties. More...
 
class  Component
 A component is something that composed something and could also be a part of something. More...
 
class  Facet
 Class facet to hold and compare facet This class is used for the extraction of external surface during importation of simulator specific files. More...
 
class  MultiComponent
 A multi-component stores other components, hence providing a way to have an tree representation of components. More...
 
class  PhysicalModel
 This is the main class of this project. More...
 
class  PMLAbortException
 Exception class to handle abortion in the xmlReading Particularly useful to handle constructor's abortion. More...
 
class  ProgramArg
 TODO Comment class here. More...
 
class  Properties
 Describes the properties common to all structures and components. More...
 
class  RenderingMode
 Handle rendering options (surface and wireframe) of an Object3D. More...
 
class  StructuralComponent
 A structural component is composed either by cell or by atoms. More...
 
class  Structure
 Pure virtual class that represent an element of the structure. More...
 
class  StructureProperties
 Describes the properties common to all structures. More...
 

Enumerations

enum  BasicSCProperties::Color {
  BasicSCProperties::DEFAULT, BasicSCProperties::RED, BasicSCProperties::GREEN, BasicSCProperties::BLUE,
  BasicSCProperties::GRAY, BasicSCProperties::OTHER
}
 Default color settings. More...
 
enum  StructuralComponent::ComposedBy { StructuralComponent::NOTHING, StructuralComponent::CELLS, StructuralComponent::ATOMS }
 What this structural component is made of. More...
 
enum  StructureProperties::GeometricType {
  StructureProperties::INVALID, StructureProperties::ATOM, StructureProperties::LINE, StructureProperties::TRIANGLE,
  StructureProperties::QUAD, StructureProperties::TETRAHEDRON, StructureProperties::WEDGE, StructureProperties::PYRAMID,
  StructureProperties::HEXAHEDRON, StructureProperties::POLY_LINE, StructureProperties::POLY_VERTEX
}
 Geometric type gives information about which kind of geometric representation is the structure. More...
 
enum  RenderingMode::Mode {
  RenderingMode::NONE, RenderingMode::POINTS, RenderingMode::POINTS_AND_SURFACE, RenderingMode::SURFACE,
  RenderingMode::WIREFRAME_AND_SURFACE, RenderingMode::WIREFRAME_AND_POINTS, RenderingMode::WIREFRAME, RenderingMode::WIREFRAME_AND_SURFACE_AND_POINTS
}
 This is a duplicate of RenderingMode Mode.... More...
 

Detailed Description

Physical Model markup Language.

PML stands for Physical Model markup Language. It is an XML language designed to describe tissues and structures as physical objects using a model (discrete, continuous, ...) in order to perform a medical simulatio

Enumeration Type Documentation

Default color settings.

Enumerator
DEFAULT 
RED 

full complete flashy red

GREEN 
BLUE 
GRAY 
OTHER 

What this structural component is made of.

Enumerator
NOTHING 

there are no structure yet, so everything is possible

CELLS 

the structural component is made of cells

ATOMS 

the structural component is made of atoms

Geometric type gives information about which kind of geometric representation is the structure.

For 3D geometric shapes, atoms have to be given in a proper order:

TRIANGLE
      2           lines:
    /  \          0,1
   /    \         0,2
  0---—1        1,2
QUAD
  3-----—2      lines:
  |        |      0,1
  |        |      1,2
  |        |      2,3
  0-----—1      3,0
TETRAHEDRON
      3             
    /| \          facets (triangles):      lines:
   / |  \         0,1,2 (base)             0,1
  1..|... 2      0,2,3                    0,2
  \  |   /        0,3,1                    0,3
   \ |  /         2,1,3                    1,2
    |/                                    1,3
     0                                     2,3
PYRAMID 

               4              
              ,/|\
            ,/ .'|\                        (copied from gmsh documentation)
          ,/   | | \         
        ,/    .' | `.         
      ,/      |  '.  \     
    ,/       .' w |   \      
  ,/         |  ^ |    \   
 0----------.'--|-3    `.    
  `\        |   |  `\    \
    `\     .'   +----`\ - \ -> v  
      `\   |    `\     `\  \
        `\.'      `\     `\`          
           1----------------2           
                     `\
                        u
WEDGE
     1----------—4       facets (quad):   facets (triangles):     lines:
    /\           . \       2,5,4,1          0,2,1                   0,1      2,5
   /  \         /   \      0,1,4,3          3,4,5                   0,2      3,4
  0- - \ - - - 3     \     2,0,3,5                                  1,2      4,5
    \   \         \   \                                             0,3      5,3
      \ 2--------—--5                                            1,4
HEXAHEDRON
     2----------—6       facets (quad):         lines:
    / \           . \      0,3,2,1                0,1     6,7
   /   \         /   \     0,4,7,3                1,2     7,4
  1- - -\ - - - 5     \    0,1,5,4                2,3     0,4
  \     3----------—7    3,7,6,2                3,0     1,5
   \   /         \   /     1,2,6,5                4,5     2,6
    \ /           . /      4,5,6,7                5,6     3,7
     0----------—4
 
Enumerator
INVALID 

invalid geometry type

ATOM 

the structure is an atom, and hence should be represented by a single point

LINE 

the structure is a simple line, i.e it must be a cell composed of only 2 atoms

TRIANGLE 

the structure is a triangle, i.e it must be a cell composed of 3 atoms

QUAD 

the structure is a quad, i.e it must be a cell composed of 4 atoms

TETRAHEDRON 

the structure is a tetrahedron, it must be a cell and have sub-structures that are atoms

WEDGE 

the structure is a wedge (like the Pink Floyd's "Dark Side Of the Moon" prism), it must be a cell and have sub-structures that are atoms

PYRAMID 

the structure has a quad base and one vertex outside the defined base plane (like an egyptian pyramid!)

HEXAHEDRON 

the structure is a hexahedron, it must be a cell and have sub-structures that are atoms

POLY_LINE 

the structure is a polyline, i.e it must be a cell and the order of the atom in the cell are arranged along a line

POLY_VERTEX 

the structure is a poly vertex, i.e it must be a cell and it is a point clouds

This is a duplicate of RenderingMode Mode....

BEURK!!!

Enumerator
NONE 
POINTS 
POINTS_AND_SURFACE 
SURFACE 
WIREFRAME_AND_SURFACE 
WIREFRAME_AND_POINTS 
WIREFRAME 
WIREFRAME_AND_SURFACE_AND_POINTS