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

Detailed Description

Definition at line 49 of file SMDS_VolumeTool.hxx.

Member Enumeration Documentation

◆ VolumeType

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() [1/2]

SMDS_VolumeTool::SMDS_VolumeTool ( )

◆ ~SMDS_VolumeTool()

SMDS_VolumeTool::~SMDS_VolumeTool ( )

◆ SMDS_VolumeTool() [2/2]

SMDS_VolumeTool::SMDS_VolumeTool ( const SMDS_MeshElement theVolume)

Member Function Documentation

◆ Set()

bool SMDS_VolumeTool::Set ( const SMDS_MeshElement theVolume)

◆ Get()

const SMDS_MeshVolume* SMDS_VolumeTool::Get ( ) const

◆ ID()

int SMDS_VolumeTool::ID ( ) const

◆ GetVolumeType()

VolumeType SMDS_VolumeTool::GetVolumeType ( ) const

◆ IsForward()

bool SMDS_VolumeTool::IsForward ( ) const

Definition at line 76 of file SMDS_VolumeTool.hxx.

◆ Inverse()

void SMDS_VolumeTool::Inverse ( )

◆ GetNodes()

const SMDS_MeshNode** SMDS_VolumeTool::GetNodes ( )

Definition at line 85 of file SMDS_VolumeTool.hxx.

◆ NbNodes()

int SMDS_VolumeTool::NbNodes ( )

Definition at line 88 of file SMDS_VolumeTool.hxx.

◆ GetSize()

double SMDS_VolumeTool::GetSize ( ) const

◆ GetBaryCenter()

bool SMDS_VolumeTool::GetBaryCenter ( double &  X,
double &  Y,
double &  Z 
) const

◆ IsOut()

bool SMDS_VolumeTool::IsOut ( double  X,
double  Y,
double  Z,
double  tol 
)

◆ IsLinked() [1/2]

bool SMDS_VolumeTool::IsLinked ( const SMDS_MeshNode theNode1,
const SMDS_MeshNode theNode2 
) const

◆ IsLinked() [2/2]

bool SMDS_VolumeTool::IsLinked ( const int  theNode1Index,
const int  theNode2Index 
) const

◆ GetNodeIndex()

int SMDS_VolumeTool::GetNodeIndex ( const SMDS_MeshNode theNode) const

◆ GetAllExistingEdges()

int SMDS_VolumeTool::GetAllExistingEdges ( std::vector< const SMDS_MeshElement * > &  edges) const

◆ SetExternalNormal()

void SMDS_VolumeTool::SetExternalNormal ( )

◆ NbFaces() [1/2]

int SMDS_VolumeTool::NbFaces ( ) const

Definition at line 125 of file SMDS_VolumeTool.hxx.

◆ NbFaceNodes() [1/2]

int SMDS_VolumeTool::NbFaceNodes ( int  faceIndex)

◆ GetFaceNodesIndices() [1/2]

const int* SMDS_VolumeTool::GetFaceNodesIndices ( int  faceIndex)

◆ GetFaceNodes() [1/2]

const SMDS_MeshNode** SMDS_VolumeTool::GetFaceNodes ( int  faceIndex)

◆ GetFaceNodes() [2/2]

bool SMDS_VolumeTool::GetFaceNodes ( int  faceIndex,
std::set< const SMDS_MeshNode * > &  theFaceNodes 
)

◆ IsFaceExternal()

bool SMDS_VolumeTool::IsFaceExternal ( int  faceIndex)

◆ IsFreeFace()

bool SMDS_VolumeTool::IsFreeFace ( int  faceIndex)

◆ GetFaceNormal()

bool SMDS_VolumeTool::GetFaceNormal ( int  faceIndex,
double &  X,
double &  Y,
double &  Z 
)

◆ GetFaceArea()

double SMDS_VolumeTool::GetFaceArea ( int  faceIndex)

◆ GetOppFaceIndex()

int SMDS_VolumeTool::GetOppFaceIndex ( int  faceIndex) const

◆ GetFaceIndex()

int SMDS_VolumeTool::GetFaceIndex ( const std::set< const SMDS_MeshNode * > &  theFaceNodes)

◆ GetAllExistingFaces()

int SMDS_VolumeTool::GetAllExistingFaces ( std::vector< const SMDS_MeshElement * > &  faces)

◆ GetType()

static VolumeType SMDS_VolumeTool::GetType ( int  nbNodes)
static

◆ NbFaces() [2/2]

static int SMDS_VolumeTool::NbFaces ( VolumeType  type)
static

◆ GetFaceNodesIndices() [2/2]

static const int* SMDS_VolumeTool::GetFaceNodesIndices ( VolumeType  type,
int  faceIndex,
bool  external 
)
static

◆ NbFaceNodes() [2/2]

static int SMDS_VolumeTool::NbFaceNodes ( VolumeType  type,
int  faceIndex 
)
static

◆ NbCornerNodes()

static int SMDS_VolumeTool::NbCornerNodes ( VolumeType  type)
static

◆ setFace()

bool SMDS_VolumeTool::setFace ( int  faceIndex)
private

Field Documentation

◆ myVolume

const SMDS_MeshElement* SMDS_VolumeTool::myVolume
private

Definition at line 206 of file SMDS_VolumeTool.hxx.

◆ myPolyedre

const SMDS_PolyhedralVolumeOfNodes* SMDS_VolumeTool::myPolyedre
private

Definition at line 207 of file SMDS_VolumeTool.hxx.

◆ myVolForward

bool SMDS_VolumeTool::myVolForward
private

Definition at line 209 of file SMDS_VolumeTool.hxx.

◆ myNbFaces

int SMDS_VolumeTool::myNbFaces
private

Definition at line 210 of file SMDS_VolumeTool.hxx.

◆ myVolumeNbNodes

int SMDS_VolumeTool::myVolumeNbNodes
private

Definition at line 211 of file SMDS_VolumeTool.hxx.

◆ myVolumeNodes

const SMDS_MeshNode** SMDS_VolumeTool::myVolumeNodes
private

Definition at line 212 of file SMDS_VolumeTool.hxx.

◆ myExternalFaces

bool SMDS_VolumeTool::myExternalFaces
private

Definition at line 214 of file SMDS_VolumeTool.hxx.

◆ myCurFace

int SMDS_VolumeTool::myCurFace
private

Definition at line 216 of file SMDS_VolumeTool.hxx.

◆ myFaceNbNodes

int SMDS_VolumeTool::myFaceNbNodes
private

Definition at line 217 of file SMDS_VolumeTool.hxx.

◆ myFaceNodeIndices

int* SMDS_VolumeTool::myFaceNodeIndices
private

Definition at line 218 of file SMDS_VolumeTool.hxx.

◆ myFaceNodes

const SMDS_MeshNode** SMDS_VolumeTool::myFaceNodes
private

Definition at line 219 of file SMDS_VolumeTool.hxx.