SALOME - SMESH
SMDS_VolumeTool Class Reference

#include <SMDS_VolumeTool.hxx>

Collaboration diagram for SMDS_VolumeTool:
Collaboration graph

Public Types

enum  VolumeType {
  UNKNOWN = -1, TETRA = 0, PYRAM, PENTA,
  HEXA, QUAD_TETRA, QUAD_PYRAM, QUAD_PENTA,
  QUAD_HEXA, POLYHEDA
}

Public Member Functions

 SMDS_VolumeTool ()
 ~SMDS_VolumeTool ()
 SMDS_VolumeTool (const SMDS_MeshElement *theVolume)
bool Set (const SMDS_MeshElement *theVolume)
const SMDS_MeshVolumeGet () const
int ID () const
VolumeType GetVolumeType () const
bool IsForward () const
void Inverse ()
const SMDS_MeshNode ** GetNodes ()
int NbNodes ()
double GetSize () const
bool GetBaryCenter (double &X, double &Y, double &Z) const
bool IsOut (double X, double Y, double Z, double tol)
bool IsLinked (const SMDS_MeshNode *theNode1, const SMDS_MeshNode *theNode2) const
bool IsLinked (const int theNode1Index, const int theNode2Index) const
int GetNodeIndex (const SMDS_MeshNode *theNode) const
int GetAllExistingEdges (std::vector< const SMDS_MeshElement * > &edges) const
void SetExternalNormal ()
int NbFaces () const
int NbFaceNodes (int faceIndex)
const int * GetFaceNodesIndices (int faceIndex)
const SMDS_MeshNode ** GetFaceNodes (int faceIndex)
bool GetFaceNodes (int faceIndex, std::set< const SMDS_MeshNode * > &theFaceNodes)
bool IsFaceExternal (int faceIndex)
bool IsFreeFace (int faceIndex)
bool GetFaceNormal (int faceIndex, double &X, double &Y, double &Z)
double GetFaceArea (int faceIndex)
int GetOppFaceIndex (int faceIndex) const
int GetFaceIndex (const std::set< const SMDS_MeshNode * > &theFaceNodes)
int GetAllExistingFaces (std::vector< const SMDS_MeshElement * > &faces)

Static Public Member Functions

static VolumeType GetType (int nbNodes)
static int NbFaces (VolumeType type)
static const int * GetFaceNodesIndices (VolumeType type, int faceIndex, bool external)
static int NbFaceNodes (VolumeType type, int faceIndex)
static int NbCornerNodes (VolumeType type)

Private Member Functions

bool setFace (int faceIndex)

Private Attributes

const SMDS_MeshElementmyVolume
const
SMDS_PolyhedralVolumeOfNodes
myPolyedre
bool myVolForward
int myNbFaces
int myVolumeNbNodes
const SMDS_MeshNode ** myVolumeNodes
bool myExternalFaces
int myCurFace
int myFaceNbNodes
int * myFaceNodeIndices
const SMDS_MeshNode ** myFaceNodes

Member Enumeration Documentation

Enumerator:
UNKNOWN 
TETRA 
PYRAM 
PENTA 
HEXA 
QUAD_TETRA 
QUAD_PYRAM 
QUAD_PENTA 
QUAD_HEXA 
POLYHEDA 

Definition at line 53 of file SMDS_VolumeTool.hxx.


Constructor & Destructor Documentation

SMDS_VolumeTool::SMDS_VolumeTool ( )
SMDS_VolumeTool::~SMDS_VolumeTool ( )
SMDS_VolumeTool::SMDS_VolumeTool ( const SMDS_MeshElement theVolume)

Member Function Documentation

bool SMDS_VolumeTool::Set ( const SMDS_MeshElement theVolume)
const SMDS_MeshVolume* SMDS_VolumeTool::Get ( ) const
int SMDS_VolumeTool::ID ( ) const
VolumeType SMDS_VolumeTool::GetVolumeType ( ) const
bool SMDS_VolumeTool::IsForward ( ) const

Definition at line 76 of file SMDS_VolumeTool.hxx.

void SMDS_VolumeTool::Inverse ( )
const SMDS_MeshNode** SMDS_VolumeTool::GetNodes ( )

Definition at line 85 of file SMDS_VolumeTool.hxx.

int SMDS_VolumeTool::NbNodes ( )

Definition at line 88 of file SMDS_VolumeTool.hxx.

double SMDS_VolumeTool::GetSize ( ) const
bool SMDS_VolumeTool::GetBaryCenter ( double &  X,
double &  Y,
double &  Z 
) const
bool SMDS_VolumeTool::IsOut ( double  X,
double  Y,
double  Z,
double  tol 
)
bool SMDS_VolumeTool::IsLinked ( const SMDS_MeshNode theNode1,
const SMDS_MeshNode theNode2 
) const
bool SMDS_VolumeTool::IsLinked ( const int  theNode1Index,
const int  theNode2Index 
) const
int SMDS_VolumeTool::GetNodeIndex ( const SMDS_MeshNode theNode) const
int SMDS_VolumeTool::GetAllExistingEdges ( std::vector< const SMDS_MeshElement * > &  edges) const
void SMDS_VolumeTool::SetExternalNormal ( )
int SMDS_VolumeTool::NbFaces ( ) const

Definition at line 125 of file SMDS_VolumeTool.hxx.

int SMDS_VolumeTool::NbFaceNodes ( int  faceIndex)
const int* SMDS_VolumeTool::GetFaceNodesIndices ( int  faceIndex)
const SMDS_MeshNode** SMDS_VolumeTool::GetFaceNodes ( int  faceIndex)
bool SMDS_VolumeTool::GetFaceNodes ( int  faceIndex,
std::set< const SMDS_MeshNode * > &  theFaceNodes 
)
bool SMDS_VolumeTool::IsFaceExternal ( int  faceIndex)
bool SMDS_VolumeTool::IsFreeFace ( int  faceIndex)
bool SMDS_VolumeTool::GetFaceNormal ( int  faceIndex,
double &  X,
double &  Y,
double &  Z 
)
double SMDS_VolumeTool::GetFaceArea ( int  faceIndex)
int SMDS_VolumeTool::GetOppFaceIndex ( int  faceIndex) const
int SMDS_VolumeTool::GetFaceIndex ( const std::set< const SMDS_MeshNode * > &  theFaceNodes)
int SMDS_VolumeTool::GetAllExistingFaces ( std::vector< const SMDS_MeshElement * > &  faces)
static VolumeType SMDS_VolumeTool::GetType ( int  nbNodes) [static]
static int SMDS_VolumeTool::NbFaces ( VolumeType  type) [static]
static const int* SMDS_VolumeTool::GetFaceNodesIndices ( VolumeType  type,
int  faceIndex,
bool  external 
) [static]
static int SMDS_VolumeTool::NbFaceNodes ( VolumeType  type,
int  faceIndex 
) [static]
static int SMDS_VolumeTool::NbCornerNodes ( VolumeType  type) [static]
bool SMDS_VolumeTool::setFace ( int  faceIndex) [private]

Field Documentation

Definition at line 206 of file SMDS_VolumeTool.hxx.

Definition at line 209 of file SMDS_VolumeTool.hxx.

Definition at line 210 of file SMDS_VolumeTool.hxx.

Definition at line 211 of file SMDS_VolumeTool.hxx.

Definition at line 212 of file SMDS_VolumeTool.hxx.

Definition at line 214 of file SMDS_VolumeTool.hxx.

Definition at line 216 of file SMDS_VolumeTool.hxx.

Definition at line 217 of file SMDS_VolumeTool.hxx.

Definition at line 218 of file SMDS_VolumeTool.hxx.

Definition at line 219 of file SMDS_VolumeTool.hxx.