addTetrahedron(vctl::MCVertex *pV0, vctl::MCVertex *pV1, vctl::MCVertex *pV2, vctl::MCVertex *pV3) | mds::seg::CDelaunayTetra | [protected] |
addVertex(vctl::MCVertex *pVertex, int iBoundaryVertex=0, tTetrahedronFunc InsertFunc=NULL, tTetrahedronFunc RemoveFunc=NULL) | mds::seg::CDelaunayTetra | |
approachEdges(bool bCheckIsotropicMinEdgeLength=false) | mds::seg::CTetraMesh | |
attractVertex(vctl::MCPoint3D *pPoint) | mds::seg::CTetraMesh | [virtual] |
BOUNDARY_FLAGS enum value | mds::seg::CDelaunayTetra | |
CDelaunayTetra() | mds::seg::CDelaunayTetra | |
changeRegion(int iMinIndex, int iMaxIndex=-1, int iFinalRegion=-1) | mds::seg::CTetraMesh | |
checkBoundary(vctl::MCPoint3D *pPoint) | mds::seg::CDelaunayTetra | [protected] |
checkBoundaryEdge(vctl::MCEdge *pEdge, vctl::MCVector3D *pNormal, double dThreshold=DEFAULT_DISTANCE_THRESHOLD) | mds::seg::CTetraMesh | |
checkBoundaryFacetFunc(vctl::MCPoint3D *p1, vctl::MCPoint3D *p2, vctl::MCPoint3D *p3, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
checkBoundaryTriangle(vctl::MCPoint3D *p0, vctl::MCPoint3D *p1, vctl::MCPoint3D *p2, double dThreshold=DEFAULT_DISTANCE_THRESHOLD) | mds::seg::CTetraMesh | |
checkFlatness(vctl::MCVertex *pV0, vctl::MCVertex *pV1, vctl::MCVertex *pV2, vctl::MCVertex *pV3) | mds::seg::CDelaunayTetra | [protected] |
checkIsotropicMinEdgeLengthFunc(vctl::MCPoint3D *p1, vctl::MCPoint3D *p2, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
checkIsotropicMinEdgeLengthFunc2(vctl::MCPoint3D *p1, vctl::MCPoint3D *p2, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
checkNoImageEdgeIntersectionFunc(vctl::MCPoint3D *p1, vctl::MCPoint3D *p2, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
checkTetrahedron(vctl::MCTetra *pTetrahedron) | mds::seg::CDelaunayTetra | [protected] |
checkTetrahedronVolume(vctl::MCTetra *pTetra) | mds::seg::CTetraMesh | |
classifyAdjacent(double dBThreshold=DEFAULT_DISTANCE_THRESHOLD) | mds::seg::CTetraMesh | |
clear() | mds::seg::CDelaunayTetra | |
clearFlags() | mds::seg::CDelaunayTetra | [protected] |
clearFlags(const tTetrahedra &Tetrahedra) | mds::seg::CDelaunayTetra | [protected] |
clearTriangles() | mds::seg::CTetraMesh | |
construct() | mds::seg::CDelaunayTetra | |
conv2Real(mds::tSize x, mds::tSize y, mds::tSize z, double &dX, double &dY, double &dZ) const | mds::seg::CTetraScaling | [inline] |
conv2Real(mds::tSize x, mds::tSize y, mds::tSize z, tCoordinates *pPoint) const | mds::seg::CTetraScaling | [inline] |
conv2Real(double dX, double dY, double dZ, tCoordinates *pPoint) const | mds::seg::CTetraScaling | [inline] |
conv2Real(tCoordinates *pPoint) const | mds::seg::CTetraScaling | [inline] |
conv2Volume(double dX, double dY, double dZ, mds::tSize &x, mds::tSize &y, mds::tSize &z) const | mds::seg::CTetraScaling | [inline] |
conv2Volume(tCoordinates *pPoint, mds::tSize &x, mds::tSize &y, mds::tSize &z) const | mds::seg::CTetraScaling | [inline] |
conv2Volume(tCoordinates *pPoint, double &x, double &y, double &z) const | mds::seg::CTetraScaling | [inline] |
conv2Volume(tCoordinates *pPoint) const | mds::seg::CTetraScaling | [inline] |
createTriangles(int iRegion=-1, bool bBoundary=false) | mds::seg::CTetraMesh | |
createTriangles(double a, double b, double c, double d, int iRegion=-1) | mds::seg::CTetraMesh | |
createTriangles(double dQuality, int iRegion=-1) | mds::seg::CTetraMesh | |
CTetraMesh() | mds::seg::CTetraMesh | |
CTetraScaling() | mds::seg::CTetraScaling | [inline] |
CTetraScaling(double dDX, double dDY, double dDZ) | mds::seg::CTetraScaling | [inline] |
DEFAULT_AVG_TETRA_SIZE | mds::seg::CTetraMesh | [static] |
DEFAULT_CELL | mds::seg::CTetraMesh | [static] |
DEFAULT_CELL_MARGIN | mds::seg::CTetraMesh | [static] |
DEFAULT_CORNER_MIN_EDGE_LENGTH | mds::seg::CTetraMesh | [static] |
DEFAULT_DELTA_THRESHOLD | mds::seg::CTetraMesh | [static] |
DEFAULT_DISTANCE_THRESHOLD | mds::seg::CTetraMesh | [static] |
DEFAULT_INIT_THRESHOLD | mds::seg::CTetraMesh | [static] |
DEFAULT_K | mds::seg::CTetraMesh | [static] |
DEFAULT_MIN_DIHEDRAL_ANGLE | mds::seg::CDelaunayTetra | [static] |
DEFAULT_MIN_EDGE_LENGTH | mds::seg::CDelaunayTetra | [static] |
DEFAULT_NUMBER_OF_NODES | mds::seg::CDelaunayTetra | [static] |
DEFAULT_SPLITTING_THRESHOLD | mds::seg::CTetraMesh | [static] |
DEFAULT_VERTEX_NEIGHBOURHOOD | mds::seg::CTetraMesh | [static] |
deserialize(mds::mod::CChannelSerializer< S > &Reader) | mds::seg::CTetraMesh | [inline] |
DOMAIN_BOUNDARY enum value | mds::seg::CTetraMesh | |
edgeSplitting(double dOrientThreshold=DEFAULT_SPLITTING_THRESHOLD) | mds::seg::CTetraMesh | |
edgeSplittingInsertFunc(vctl::MCTetra *pTetrahedron, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
edgeSplittingRemoveFunc(vctl::MCTetra *pTetrahedron, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
evalEdgeDistancePoint(vctl::MCPoint3D *pPoint, mds::img::CPoint3D &Normal, int iMaxDistance) | mds::seg::CTetraMesh | |
evaluateFeatures(bool bSkipSmall=true) | mds::seg::CTetraMesh | |
evaluateSegmentFeatures(bool bSkipSmall=true) | mds::seg::CTetraMesh | |
findBaseTetrahedron(vctl::MCPoint3D *pPoint) | mds::seg::CDelaunayTetra | [protected] |
findCavity(vctl::MCPoint3D *pPoint, tTetrahedra &Cavity) | mds::seg::CDelaunayTetra | [protected] |
findCavityEnvelope(const tTetrahedra &Cavity, tVertices &Envelope) | mds::seg::CDelaunayTetra | [protected] |
findIsolatedRegions() | mds::seg::CTetraMesh | |
findNearestVertex(vctl::MCPoint3D *pPoint, bool bStartFromPrevious=false) | mds::seg::CDelaunayTetra | [protected] |
forEachTetrahedron(Function Func) | mds::seg::CDelaunayTetra | [inline] |
forEachVertex(Function Func) | mds::seg::CDelaunayTetra | [inline] |
getControlSpaceLength(vctl::MCPoint3D &p1, vctl::MCPoint3D &p2) | mds::seg::CTetraMesh | |
getControlSpacePtr() | mds::seg::CTetraMesh | [inline] |
getControlSpaceValue(const mds::img::CPoint3D &Point) | mds::seg::CTetraMesh | |
getCornerMinEdgeLength() | mds::seg::CTetraMesh | [inline] |
getEdgeVolumePtr() | mds::seg::CTetraMesh | [inline] |
getFirstTetrahedron() | mds::seg::CDelaunayTetra | [inline] |
getFirstTriangle() | mds::seg::CTetraMesh | [inline] |
getFirstVertex() | mds::seg::CDelaunayTetra | [inline] |
getMaxCoordinates(double &dX, double &dY, double &dZ) | mds::seg::CDelaunayTetra | |
getMinCoordinates(double &dX, double &dY, double &dZ) | mds::seg::CDelaunayTetra | |
getMinDihedralAngle() | mds::seg::CDelaunayTetra | [inline] |
getMinEdgeLength() | mds::seg::CDelaunayTetra | [inline] |
getMinRealSize(double Value) const | mds::seg::CTetraScaling | [inline] |
getMinVolumeSize(double Value) const | mds::seg::CTetraScaling | [inline] |
getNumOfSegments() const | mds::seg::CTetraMesh | [inline] |
getNumOfTetrahedra() | mds::seg::CDelaunayTetra | [inline] |
getNumOfTriangles() | mds::seg::CTetraMesh | [inline] |
getNumOfVertices() | mds::seg::CDelaunayTetra | [inline] |
getRealX(double x) const | mds::seg::CTetraScaling | [inline] |
getRealY(double y) const | mds::seg::CTetraScaling | [inline] |
getRealZ(double z) const | mds::seg::CTetraScaling | [inline] |
getSegments() | mds::seg::CTetraMesh | [inline] |
getTetrahedra() | mds::seg::CDelaunayTetra | [inline] |
getTetrahedronQuality(vctl::MCTetra *pTetrahedron) | mds::seg::CDelaunayTetra | [protected, static] |
getTriangles() | mds::seg::CTetraMesh | [inline] |
getVertexNeighbourhood() | mds::seg::CTetraMesh | [inline] |
getVertices() | mds::seg::CDelaunayTetra | [inline] |
getVolumePtr() | mds::seg::CTetraMesh | [inline] |
getVolumeX(double x) const | mds::seg::CTetraScaling | [inline] |
getVolumeY(double y) const | mds::seg::CTetraScaling | [inline] |
getVolumeZ(double z) const | mds::seg::CTetraScaling | [inline] |
init(double dThreshold=DEFAULT_INIT_THRESHOLD, tSize CellSize=DEFAULT_CELL, tSize NumOfNodes=DEFAULT_NUMBER_OF_NODES) | mds::seg::CTetraMesh | |
mds::seg::CDelaunayTetra::init(vctl::MCPoint3D *pMin, vctl::MCPoint3D *pMax, mds::tSize NumOfNodes=DEFAULT_NUMBER_OF_NODES) | mds::seg::CDelaunayTetra | |
isBoundaryTriangle(vctl::MCVertex *p0, vctl::MCVertex *p1, vctl::MCVertex *p2) | mds::seg::CTetraMesh | |
isotropicAttractVertex(vctl::MCPoint3D *pPoint) | mds::seg::CTetraMesh | |
isotropicEdgeSplitting(double dThreshold, bool bBoundaryEdges=false) | mds::seg::CTetraMesh | |
isotropicEdgeSplittingInsertFunc(vctl::MCTetra *pTetrahedron, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
isotropicEdgeSplittingRemoveFunc(vctl::MCTetra *pTetrahedron, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
isotropicSplitEdge(vctl::MCVertex *pV0, vctl::MCVertex *pV1, double dThreshold, tPoints &EdgePoints, tPoints &Points, bool bBoundary=false) | mds::seg::CTetraMesh | |
isotropicSplitSubEdge(vctl::MCPoint3D &p1, vctl::MCPoint3D &p2, double dThreshold, double dRestrictedZone, tPoints &Points) | mds::seg::CTetraMesh | |
isotropicVertexMoving() | mds::seg::CTetraMesh | |
m_ConstraintFunc | mds::seg::CDelaunayTetra | [protected] |
m_dCornerMinEdgeLength | mds::seg::CTetraMesh | [protected] |
m_dDX | mds::seg::CTetraScaling | [protected] |
m_dDY | mds::seg::CTetraScaling | [protected] |
m_dDZ | mds::seg::CTetraScaling | [protected] |
m_dInvDX | mds::seg::CTetraScaling | [protected] |
m_dInvDY | mds::seg::CTetraScaling | [protected] |
m_dInvDZ | mds::seg::CTetraScaling | [protected] |
m_dInvMin | mds::seg::CTetraScaling | [protected] |
m_dMaxX | mds::seg::CDelaunayTetra | [protected] |
m_dMaxY | mds::seg::CDelaunayTetra | [protected] |
m_dMaxZ | mds::seg::CDelaunayTetra | [protected] |
m_dMin | mds::seg::CTetraScaling | [protected] |
m_dMinDihedralAngle | mds::seg::CDelaunayTetra | [protected] |
m_dMinEdgeLength | mds::seg::CDelaunayTetra | [protected] |
m_dMinX | mds::seg::CDelaunayTetra | [protected] |
m_dMinY | mds::seg::CDelaunayTetra | [protected] |
m_dMinZ | mds::seg::CDelaunayTetra | [protected] |
m_iNumOfSegments | mds::seg::CTetraMesh | [protected] |
m_MinEdgeLengthFunc | mds::seg::CDelaunayTetra | [protected] |
m_pHomogeneityMeasure | mds::seg::CTetraMesh | [protected] |
m_pVertices | mds::seg::CDelaunayTetra | [protected] |
m_Random | mds::seg::CDelaunayTetra | [protected] |
m_Segments | mds::seg::CTetraMesh | [protected] |
m_spControlSpace | mds::seg::CTetraMesh | [protected] |
m_spEdgeVolume | mds::seg::CTetraMesh | [protected] |
m_spVolume | mds::seg::CTetraMesh | [protected] |
m_Tetrahedra | mds::seg::CDelaunayTetra | [protected] |
m_VertexNeighbourhood | mds::seg::CTetraMesh | [protected] |
markBoundaryVertices() | mds::seg::CTetraMesh | |
MARKED enum value | mds::seg::CTetraMesh | |
MAX_MOVEMENT | mds::seg::CDelaunayTetra | [static] |
mds::base::CSharedPtr< CDelaunayTetra > class | mds::seg::CDelaunayTetra | [friend] |
mds::base::CSharedPtr< CTetraMesh > class | mds::seg::CTetraMesh | [friend] |
MDS_ENTITY_BLOCK_SIZE(4096) | mds::seg::CTetraMesh | |
MDS_ENTITY_COMPRESSION(mds::mod::CC_RAW) | mds::seg::CTetraMesh | |
MDS_ENTITY_NAME("TetraMesh") | mds::seg::CTetraMesh | |
mds::seg::CDelaunayTetra::MDS_ENTITY_NAME("DelaunayTetra") | mds::seg::CDelaunayTetra | |
MIN_TETRAHEDRON_VOLUME | mds::seg::CTetraMesh | [static] |
newVertex(vctl::MCPoint3D *pPoint, int iFlags=0) | mds::seg::CDelaunayTetra | [inline] |
newVertex(double x, double y, double z, int iFlags=0) | mds::seg::CDelaunayTetra | [inline] |
noiseReduction() | mds::seg::CTetraMesh | |
optimizeByVertexAdding(double dMinQuality, bool bRandomPosition=true) | mds::seg::CDelaunayTetra | |
optimizeByVertexMoving(double dMinQuality) | mds::seg::CTetraMesh | |
prepareControlSpace(double dK=DEFAULT_K, double dAvgTetrahedronSize=DEFAULT_AVG_TETRA_SIZE) | mds::seg::CTetraMesh | |
randomVertex(vctl::MCPoint3D *pPoint, double dMax=MAX_MOVEMENT) | mds::seg::CDelaunayTetra | [inline] |
randomVertex(double x, double y, double z, double dMax=MAX_MOVEMENT) | mds::seg::CDelaunayTetra | |
reassignRegions() | mds::seg::CTetraMesh | |
regionGrowing(CTetraSimilarityMeasure &Measure, double dBThreshold=DEFAULT_DISTANCE_THRESHOLD) | mds::seg::CTetraMesh | |
regionMerging(CTetraSimilarityMeasure &Measure, double dBThreshold=DEFAULT_DISTANCE_THRESHOLD, double dDeltaThreshold=DEFAULT_DELTA_THRESHOLD, tSize NumOfRegions=-1, bool bMergeAdjacent=true) | mds::seg::CTetraMesh | |
removeTetrahedron(vctl::MCTetra *pTetrahedron, bool bEraseVertices=false) | mds::seg::CDelaunayTetra | [protected] |
saveSTL(mds::mod::CChannel &Channel) | mds::seg::CTetraMesh | |
saveVRML(mds::mod::CChannel &Channel) | mds::seg::CTetraMesh | |
serialize(mds::mod::CChannelSerializer< S > &Writer) | mds::seg::CTetraMesh | [inline] |
setConstraintFunc(tConstraintFunc ConstraintFunc) | mds::seg::CDelaunayTetra | [inline] |
setControlSpace(mds::img::CDensityVolume *pControlSpace) | mds::seg::CTetraMesh | |
setCornerMinEdgeLength(double dValue=DEFAULT_CORNER_MIN_EDGE_LENGTH) | mds::seg::CTetraMesh | [inline] |
setDefaultConstraintFunc() | mds::seg::CDelaunayTetra | [inline] |
setDefaultMinEdgeLengthFunc() | mds::seg::CDelaunayTetra | [inline] |
setEdgeVolume(mds::img::CDensityVolume *pEdgeVolume) | mds::seg::CTetraMesh | |
setMinDihedralAngle(double dValue=DEFAULT_MIN_DIHEDRAL_ANGLE) | mds::seg::CDelaunayTetra | [inline] |
setMinEdgeLength(double dValue=DEFAULT_MIN_EDGE_LENGTH) | mds::seg::CDelaunayTetra | [inline] |
setMinEdgeLengthFunc(tMinEdgeLengthFunc MinEdgeLengthFunc) | mds::seg::CDelaunayTetra | [inline] |
setNumOfSegments(int i) | mds::seg::CTetraMesh | [inline] |
setVertexNeighbourhood(tSize Value=DEFAULT_VERTEX_NEIGHBOURHOOD) | mds::seg::CTetraMesh | [inline] |
setVolume(mds::img::CDensityVolume *pVolume) | mds::seg::CTetraMesh | |
setVoxelSize(double dDX, double dDY, double dDZ) | mds::seg::CTetraScaling | [inline] |
splitEdge(vctl::MCEdge *pEdge, double dThreshold, tPoints &Points) | mds::seg::CTetraMesh | |
splitTetrahedron(vctl::MCTetra *pTetrahedron) | mds::seg::CTetraMesh | |
subpixelAttractVertex(vctl::MCPoint3D *pPoint) | mds::seg::CTetraMesh | |
subpixelVertexMoving() | mds::seg::CTetraMesh | |
tConstraintFunc typedef | mds::seg::CDelaunayTetra | |
tCoordinates typedef | mds::seg::CTetraScaling | |
tetrahedronSplitting(CTetraHomogeneityMeasure &Measure) | mds::seg::CTetraMesh | |
tetrahedronSplittingInsertFunc(vctl::MCTetra *pTetrahedron, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
tetrahedronSplittingRemoveFunc(vctl::MCTetra *pTetrahedron, CDelaunayTetra *pMesh) | mds::seg::CTetraMesh | [static] |
tMinEdgeLengthFunc typedef | mds::seg::CDelaunayTetra | |
tPoints typedef | mds::seg::CTetraMesh | [protected] |
tScale typedef | mds::seg::CTetraBase | |
tSegments typedef | mds::seg::CTetraMesh | |
tSmartPtr typedef | mds::seg::CTetraMesh | |
tTetrahedra typedef | mds::seg::CDelaunayTetra | [protected] |
tTetrahedronFunc typedef | mds::seg::CDelaunayTetra | |
tVertices typedef | mds::seg::CDelaunayTetra | [protected] |
tVolume typedef | mds::seg::CTetraBase | |
tVoxel typedef | mds::seg::CTetraBase | |
variationalMeshing(bool bCheckIsotropicMinEdgeLength=false) | mds::seg::CTetraMesh | |
visualize(mds::img::CDVolume *pVolume) | mds::seg::CTetraMesh | |
XMAX_BOUNDARY enum value | mds::seg::CDelaunayTetra | |
XMIN_BOUNDARY enum value | mds::seg::CDelaunayTetra | |
YMAX_BOUNDARY enum value | mds::seg::CDelaunayTetra | |
YMIN_BOUNDARY enum value | mds::seg::CDelaunayTetra | |
ZMAX_BOUNDARY enum value | mds::seg::CDelaunayTetra | |
ZMIN_BOUNDARY enum value | mds::seg::CDelaunayTetra | |
~CDelaunayTetra() | mds::seg::CDelaunayTetra | [inline, virtual] |
~CTetraMesh() | mds::seg::CTetraMesh | [virtual] |
~CTetraScaling() | mds::seg::CTetraScaling | [inline] |