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 intGetFaceNodesIndices (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 intGetFaceNodesIndices (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_PolyhedralVolumeOfNodesmyPolyedre
 
bool myVolForward
 
int myNbFaces
 
int myVolumeNbNodes
 
const SMDS_MeshNode ** myVolumeNodes
 
bool myExternalFaces
 
int myCurFace
 
int myFaceNbNodes
 
intmyFaceNodeIndices
 
const SMDS_MeshNode ** myFaceNodes
 

Detailed Description

Definition at line 49 of file SMDS_VolumeTool.hxx.

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

const SMDS_MeshElement* SMDS_VolumeTool::myVolume
private

Definition at line 206 of file SMDS_VolumeTool.hxx.

const SMDS_PolyhedralVolumeOfNodes* SMDS_VolumeTool::myPolyedre
private

Definition at line 207 of file SMDS_VolumeTool.hxx.

bool SMDS_VolumeTool::myVolForward
private

Definition at line 209 of file SMDS_VolumeTool.hxx.

int SMDS_VolumeTool::myNbFaces
private

Definition at line 210 of file SMDS_VolumeTool.hxx.

int SMDS_VolumeTool::myVolumeNbNodes
private

Definition at line 211 of file SMDS_VolumeTool.hxx.

const SMDS_MeshNode** SMDS_VolumeTool::myVolumeNodes
private

Definition at line 212 of file SMDS_VolumeTool.hxx.

bool SMDS_VolumeTool::myExternalFaces
private

Definition at line 214 of file SMDS_VolumeTool.hxx.

int SMDS_VolumeTool::myCurFace
private

Definition at line 216 of file SMDS_VolumeTool.hxx.

int SMDS_VolumeTool::myFaceNbNodes
private

Definition at line 217 of file SMDS_VolumeTool.hxx.

int* SMDS_VolumeTool::myFaceNodeIndices
private

Definition at line 218 of file SMDS_VolumeTool.hxx.

const SMDS_MeshNode** SMDS_VolumeTool::myFaceNodes
private

Definition at line 219 of file SMDS_VolumeTool.hxx.