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

◆ 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.