#include <SMDS_VolumeTool.hxx>
Data Structures | |
| struct | Facet |
| struct | SaveFacet |
| Saver/restorer of a SMDS_VolumeTool::myCurFace. More... | |
Public Types | |
| enum | VolumeType { UNKNOWN = -1 , TETRA = 0 , PYRAM , PENTA , HEXA , HEX_PRISM , QUAD_TETRA , QUAD_PYRAM , QUAD_PENTA , QUAD_HEXA , POLYHEDA , NB_VOLUME_TYPES } |
Public Member Functions | |
| SMDS_VolumeTool () | |
| ~SMDS_VolumeTool () | |
| SMDS_VolumeTool (const SMDS_MeshElement *theVolume, const bool ignoreCentralNodes=true) | |
| bool | Set (const SMDS_MeshElement *theVolume, const bool ignoreCentralNodes=true, const std::vector< const SMDS_MeshNode * > *nodes=0) |
| const SMDS_MeshVolume * | Element () const |
| smIdType | ID () const |
| bool | IsPoly () const |
| VolumeType | GetVolumeType () const |
| bool | IsForward () const |
| void | Inverse () |
| const SMDS_MeshNode ** | GetNodes () const |
| int | NbNodes () const |
| double | GetSize () const |
| double | GetScaledJacobian () const |
| bool | GetBaryCenter (double &X, double &Y, double &Z) const |
| bool | IsOut (double X, double Y, double Z, double tol) const |
| Classify a point. More... | |
| bool | IsLinked (const SMDS_MeshNode *theNode1, const SMDS_MeshNode *theNode2, const bool theIgnoreMediumNodes=false) const |
| bool | IsLinked (const int theNode1Index, const int theNode2Index, bool theIgnoreMediumNodes=false) const |
| int | GetNodeIndex (const SMDS_MeshNode *theNode) const |
| int | GetAllExistingEdges (std::vector< const SMDS_MeshElement * > &edges) const |
| Fill vector with boundary edges existing in the mesh. More... | |
| double | MinLinearSize2 () const |
| Return minimal square distance between connected corner nodes. More... | |
| double | MaxLinearSize2 () const |
| Return maximal square distance between connected corner nodes. More... | |
| void | SetExternalNormal () |
| int | NbFaces () const |
| int | NbFaceNodes (int faceIndex) const |
| const int * | GetFaceNodesIndices (int faceIndex) const |
| const SMDS_MeshNode ** | GetFaceNodes (int faceIndex) const |
| bool | GetFaceNodes (int faceIndex, std::set< const SMDS_MeshNode * > &theFaceNodes) const |
| bool | IsFaceExternal (int faceIndex) const |
| bool | IsFreeFace (int faceIndex, const SMDS_MeshElement **otherVol=0) const |
| Fast quickly check that only one volume is built on the face nodes This check is valid for conformal meshes only. More... | |
| bool | IsFreeFaceCheckAllNodes (int faceIndex, const SMDS_MeshElement **otherVol=0) const |
| Check that only one volume is built on the face nodes Different to IsFreeFace function, all nodes of the face are checked. More... | |
| bool | IsFreeFaceAdv (int faceIndex, const SMDS_MeshElement **otherVol=0) const |
| Thorough check that only one volume is built on the face nodes. More... | |
| bool | GetFaceNormal (int faceIndex, double &X, double &Y, double &Z) const |
| bool | GetFaceBaryCenter (int faceIndex, double &X, double &Y, double &Z) const |
| Return barycenter of a face. More... | |
| bool | AllFacesSameOriented () const |
| Check that all the faces in a polyhedron follow the same orientation. More... | |
| double | GetFaceArea (int faceIndex) const |
| int | GetOppFaceIndex (int faceIndex) const |
| int | GetCenterNodeIndex (int faceIndex) const |
| Return index of the node located at face center of a quadratic element like HEX27. More... | |
| int | GetFaceIndex (const std::set< const SMDS_MeshNode * > &theFaceNodes, const int theFaceIndexHint=-1) const |
| int | GetAllExistingFaces (std::vector< const SMDS_MeshElement * > &faces) const |
| Fill vector with boundary faces existing in the mesh. More... | |
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) |
| Useful to know nb of corner nodes of a quadratic volume. More... | |
| static int | GetOppFaceIndexOfHex (int faceIndex) |
Private Types | |
| typedef std::pair< int, int > | Link |
Private Member Functions | |
| bool | setFace (int faceIndex) const |
| bool | projectNodesToNormal (int faceIndex, double &minProj, double &maxProj, double *normal=0) const |
Private Attributes | |
| const SMDS_MeshElement * | myVolume |
| const SMDS_MeshVolume * | myPolyedre |
| bool | myIgnoreCentralNodes |
| bool | myVolForward |
| int | myNbFaces |
| std::vector< const SMDS_MeshNode * > | myVolumeNodes |
| std::vector< int > | myPolyIndices |
| std::vector< int > | myPolyQuantities |
| std::vector< int > | myPolyFacetOri |
| std::map< Link, int > | myFwdLinks |
| bool | myExternalFaces |
| const int * | myAllFacesNodeIndices_F |
| const int * | myAllFacesNodeIndices_RE |
| const int * | myAllFacesNbNodes |
| int | myMaxFaceNbNodes |
| Facet | myCurFace |
|
private |
| SMDS_VolumeTool::SMDS_VolumeTool | ( | ) |
References Set().
| SMDS_VolumeTool::~SMDS_VolumeTool | ( | ) |
References myCurFace, and SMDS_VolumeTool::Facet::myNodeIndices.
| SMDS_VolumeTool::SMDS_VolumeTool | ( | const SMDS_MeshElement * | theVolume, |
| const bool | ignoreCentralNodes = true |
||
| ) |
References Set().
| bool SMDS_VolumeTool::AllFacesSameOriented | ( | ) | const |
Check that all the faces in a polyhedron follow the same orientation.
References myCurFace, myExternalFaces, myFwdLinks, SMDS_VolumeTool::Facet::myNbNodes, SMDS_VolumeTool::Facet::myNodes, NbFaces(), and setFace().
Referenced by GetSize().
| const SMDS_MeshVolume * SMDS_VolumeTool::Element | ( | ) | const |
References myVolume.
Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces(), and splitPolygon().
| int SMDS_VolumeTool::GetAllExistingEdges | ( | std::vector< const SMDS_MeshElement * > & | edges | ) | const |
Fill vector with boundary edges existing in the mesh.
| edges | - vector of found edges |
| int | - nb of found faces |
References SMDS_Mesh::FindEdge(), IsLinked(), and myVolumeNodes.
| int SMDS_VolumeTool::GetAllExistingFaces | ( | std::vector< const SMDS_MeshElement * > & | faces | ) | const |
Fill vector with boundary faces existing in the mesh.
| faces | - vector of found nodes |
| int | - nb of found faces |
References SMDS_Mesh::FindFace(), GetFaceNodes(), IsPoly(), myCurFace, SMDS_VolumeTool::Facet::myNodes, NbFaceNodes(), NbFaces(), and setFace().
| bool SMDS_VolumeTool::GetBaryCenter | ( | double & | X, |
| double & | Y, | ||
| double & | Z | ||
| ) | const |
References myVolume, and myVolumeNodes.
Referenced by SMESH_Mesh_i::BaryCenter(), IsFreeFaceAdv(), and SMESH_MeshEditor::SplitVolumes().
| int SMDS_VolumeTool::GetCenterNodeIndex | ( | int | faceIndex | ) | const |
Return index of the node located at face center of a quadratic element like HEX27.
References myAllFacesNbNodes, and myVolumeNodes.
Referenced by SMESH_MesherHelper::AddTLinks(), SMESH_MeshEditor::MakeBoundaryMesh(), and SMESH_MeshEditor::SplitVolumes().
| double SMDS_VolumeTool::GetFaceArea | ( | int | faceIndex | ) | const |
| bool SMDS_VolumeTool::GetFaceBaryCenter | ( | int | faceIndex, |
| double & | X, | ||
| double & | Y, | ||
| double & | Z | ||
| ) | const |
Return barycenter of a face.
References myCurFace, SMDS_VolumeTool::Facet::myNbNodes, SMDS_VolumeTool::Facet::myNodes, and setFace().
Referenced by SMESH_MeshAlgos::GetDistance(), SMESH_MeshEditor::MakeBoundaryMesh(), and SMESH_MeshEditor::SplitVolumes().
| int SMDS_VolumeTool::GetFaceIndex | ( | const std::set< const SMDS_MeshNode * > & | theFaceNodes, |
| const int | theFaceIndexHint = -1 |
||
| ) | const |
References GetFaceNodes(), myNbFaces, and NbFaceNodes().
Referenced by SMESH_MeshEditor::GetHexaFacetsToSplit(), SMESH_MeshEditor::makeWalls(), and SMESH_MeshEditor::Reorient2DBy3D().
| const SMDS_MeshNode ** SMDS_VolumeTool::GetFaceNodes | ( | int | faceIndex | ) | const |
References myCurFace, SMDS_VolumeTool::Facet::myNodes, and setFace().
Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces(), DriverSTL_W_SMDS_Mesh::findVolumeTriangles(), SMESH_MesherHelper::FixQuadraticElements(), GetAllExistingFaces(), SMESH_MeshAlgos::GetDistance(), SMESH_Mesh_i::GetElemFaceNodes(), GetFaceIndex(), SMDS_MeshVolume::GetFaceNode(), SMESH_MeshEditor::GetHexaFacetsToSplit(), SMESH_Algo::GetMeshError(), SMESH_MeshAlgos::IntersectRayVolume(), IsFreeFace(), IsFreeFaceAdv(), IsFreeFaceCheckAllNodes(), SMESH::Controls::BareBorderVolume::IsSatisfy(), SMESH_MeshEditor::Make2DMeshFrom3D(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_Pattern::makePolyElements(), SMESH_MeshEditor::makeWalls(), SMESH::SelectionProxy::perFaceConnectivity(), DriverCGNS_Write::Perform(), SMESH::Controls::Warping3D::ProcessVolumeELement(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::Reorient2DBy3D(), SMESH_MeshEditor::SewSideElements(), splitPolygon(), SMESH_MeshEditor::SplitVolumes(), and SMESH_MeshEditor::UpdateVolumes().
| bool SMDS_VolumeTool::GetFaceNodes | ( | int | faceIndex, |
| std::set< const SMDS_MeshNode * > & | theFaceNodes | ||
| ) | const |
References myCurFace, SMDS_VolumeTool::Facet::myNodes, and setFace().
| const int * SMDS_VolumeTool::GetFaceNodesIndices | ( | int | faceIndex | ) | const |
References myCurFace, SMDS_VolumeTool::Facet::myNodeIndices, and setFace().
Referenced by SMESH_MesherHelper::AddTLinks(), SMESH_MeshEditor::applyMerge(), SMESH_Pattern::getFacesDefinition(), SMESH::Controls::AspectRatio3D::GetValue(), SMESH_Block::LoadMeshBlock(), and SMESH_MeshEditor::SplitVolumes().
|
static |
References HEX_PRISM, HEXA, PENTA, PYRAM, QUAD_HEXA, QUAD_PENTA, QUAD_PYRAM, QUAD_TETRA, and TETRA.
| bool SMDS_VolumeTool::GetFaceNormal | ( | int | faceIndex, |
| double & | X, | ||
| double & | Y, | ||
| double & | Z | ||
| ) | const |
References myCurFace, SMDS_VolumeTool::Facet::myNbNodes, SMDS_VolumeTool::Facet::myNodes, myPolyedre, and setFace().
Referenced by StdMeshers_HexaFromSkin_3D::Compute(), SMESH_MeshAlgos::GetDistance(), SMESH_MeshEditor::GetHexaFacetsToSplit(), SMESH_MeshAlgos::IntersectRayVolume(), IsFreeFaceAdv(), IsOut(), projectNodesToNormal(), Set(), and SMESHGUI_SplitVolumesDlg::showFacetByElement().
| int SMDS_VolumeTool::GetNodeIndex | ( | const SMDS_MeshNode * | theNode | ) | const |
References myVolume, and myVolumeNodes.
| const SMDS_MeshNode ** SMDS_VolumeTool::GetNodes | ( | ) | const |
| int SMDS_VolumeTool::GetOppFaceIndex | ( | int | faceIndex | ) | const |
References GetOppFaceIndexOfHex(), MESSAGE, myAllFacesNbNodes, myPolyedre, myVolumeNodes, and NbFaces().
Referenced by SMESH_MeshEditor::applyMerge().
|
static |
Referenced by SMESH_MeshEditor::GetHexaFacetsToSplit(), and GetOppFaceIndex().
| double SMDS_VolumeTool::GetScaledJacobian | ( | ) | const |
References getHexaPrismScaledJacobian(), getHexaScaledJacobian(), getPentaScaledJacobian(), getPyramidScaledJacobian(), getTetraScaledJacobian(), GetVolumeType(), HEX_PRISM, HEXA, myVolumeNodes, PENTA, PYRAM, QUAD_HEXA, QUAD_PENTA, QUAD_PYRAM, QUAD_TETRA, and TETRA.
Referenced by SMESH::Controls::ScaledJacobian::GetValue().
| double SMDS_VolumeTool::GetSize | ( | ) | const |
References AllFacesSameOriented(), getTetraVolume(), GetVolumeType(), SMDS_MeshElement::IsPoly(), myCurFace, SMDS_VolumeTool::Facet::myNbNodes, SMDS_VolumeTool::Facet::myNodes, myPolyedre, myVolume, myVolumeNodes, NbFaces(), and setFace().
Referenced by StdMeshers::Cartesian3D::Hexahedron::addPolyhedronToMesh(), SMESH::Controls::Volume::GetValue(), and StdMeshers_QuadToTriaAdaptor::MergePiramids().
|
static |
References HEX_PRISM, HEXA, PENTA, PYRAM, QUAD_HEXA, QUAD_PENTA, QUAD_PYRAM, QUAD_TETRA, TETRA, and UNKNOWN.
Referenced by StdMeshers_Projection_3D::Compute(), SMESH_Pattern::getFacesDefinition(), and SMESH::Controls::AspectRatio3D::GetValue().
| SMDS_VolumeTool::VolumeType SMDS_VolumeTool::GetVolumeType | ( | ) | const |
References HEX_PRISM, HEXA, myPolyedre, myVolumeNodes, PENTA, POLYHEDA, PYRAM, QUAD_HEXA, QUAD_PENTA, QUAD_PYRAM, QUAD_TETRA, TETRA, and UNKNOWN.
Referenced by GetScaledJacobian(), GetSize(), and IsLinked().
| smIdType SMDS_VolumeTool::ID | ( | ) | const |
References SMDS_MeshElement::GetID(), and myVolume.
Referenced by SMESH_MeshEditor::makeWalls().
| void SMDS_VolumeTool::Inverse | ( | ) |
References SMDS_MeshElement::IsPoly(), MESSAGE, myCurFace, SMDS_VolumeTool::Facet::myIndex, myVolForward, myVolume, myVolumeNodes, and SWAP_NODES.
| bool SMDS_VolumeTool::IsFaceExternal | ( | int | faceIndex | ) | const |
References myCurFace, myExternalFaces, myFwdLinks, SMDS_VolumeTool::Facet::myNbNodes, SMDS_VolumeTool::Facet::myNodes, myPolyedre, myPolyFacetOri, myVolume, projectNodesToNormal(), and setFace().
Referenced by IsFreeFaceAdv(), IsOut(), SMESH::Controls::BadOrientedVolume::IsSatisfy(), SMESH_MeshEditor::Reorient(), setFace(), and SMESH_MeshEditor::SplitVolumes().
| bool SMDS_VolumeTool::IsForward | ( | ) | const |
| bool SMDS_VolumeTool::IsFreeFace | ( | int | faceIndex, |
| const SMDS_MeshElement ** | otherVol = 0 |
||
| ) | const |
Fast quickly check that only one volume is built on the face nodes This check is valid for conformal meshes only.
References GetFaceNodes(), SMDS_MeshNode::GetInverseElementIterator(), SMDS_MeshElement::GetNodeIndex(), IsPoly(), SMDS_MeshElement::IsQuadratic(), myCurFace, SMDS_VolumeTool::Facet::myNbNodes, myVolume, setFace(), and SMDSAbs_Volume.
Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces(), DriverSTL_W_SMDS_Mesh::findVolumeTriangles(), SMESH_MeshEditor::GetHexaFacetsToSplit(), SMESH_Algo::GetMeshError(), IsFreeFaceCheckAllNodes(), SMESH::Controls::BareBorderVolume::IsSatisfy(), SMESH_MeshEditor::Make2DMeshFrom3D(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_MeshEditor::makeWalls(), DriverCGNS_Write::Perform(), SMESH_MeshEditor::SewSideElements(), and SMESHGUI_SplitVolumesDlg::showFacetByElement().
| bool SMDS_VolumeTool::IsFreeFaceAdv | ( | int | faceIndex, |
| const SMDS_MeshElement ** | otherVol = 0 |
||
| ) | const |
Thorough check that only one volume is built on the face nodes.
References GetBaryCenter(), GetFaceNodes(), GetFaceNormal(), SMDS_MeshNode::GetInverseElementIterator(), IsFaceExternal(), myCurFace, SMDS_VolumeTool::Facet::myNbNodes, myVolume, setFace(), and SMDSAbs_Volume.
| bool SMDS_VolumeTool::IsFreeFaceCheckAllNodes | ( | int | faceIndex, |
| const SMDS_MeshElement ** | otherVol = 0 |
||
| ) | const |
Check that only one volume is built on the face nodes Different to IsFreeFace function, all nodes of the face are checked.
For non conforming meshes, the face that is not conform with the neighbor will be identify as free.
References GetFaceNodes(), SMDS_MeshNode::GetInverseElementIterator(), IsFreeFace(), SMDS_MeshElement::IsQuadratic(), myCurFace, SMDS_VolumeTool::Facet::myNbNodes, myVolume, setFace(), and SMDSAbs_Volume.
Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces().
| bool SMDS_VolumeTool::IsLinked | ( | const SMDS_MeshNode * | theNode1, |
| const SMDS_MeshNode * | theNode2, | ||
| const bool | theIgnoreMediumNodes = false |
||
| ) | const |
References SMDS_MeshVolume::GetQuantities(), IsLinked(), SMDS_MeshElement::IsPoly(), SMDS_MeshCell::IsQuadratic(), MESSAGE, myAllFacesNbNodes, myNbFaces, myPolyedre, myPolyQuantities, myVolume, and myVolumeNodes.
Referenced by SMESH_MeshEditor::applyMerge(), GetAllExistingEdges(), SMESH_MeshEditor::GetLinkedNodes(), IsLinked(), SMESH_Block::LoadMeshBlock(), Set(), SMESH_MeshEditor::SewFreeBorder(), and SMESH_MeshEditor::UpdateVolumes().
| bool SMDS_VolumeTool::IsOut | ( | double | X, |
| double | Y, | ||
| double | Z, | ||
| double | tol | ||
| ) | const |
Classify a point.
| tol | - thickness of faces |
References GetFaceNormal(), IsFaceExternal(), myCurFace, myNbFaces, and SMDS_VolumeTool::Facet::myNodes.
Referenced by SMESH_MeshAlgos::IsOut().
| bool SMDS_VolumeTool::IsPoly | ( | ) | const |
| double SMDS_VolumeTool::MaxLinearSize2 | ( | ) | const |
Return maximal square distance between connected corner nodes.
References SMDS_MeshElement::IsQuadratic(), myCurFace, SMDS_VolumeTool::Facet::myIndex, myNbFaces, SMDS_VolumeTool::Facet::myNbNodes, SMDS_VolumeTool::Facet::myNodes, myVolume, and setFace().
| double SMDS_VolumeTool::MinLinearSize2 | ( | ) | const |
Return minimal square distance between connected corner nodes.
References SMDS_MeshElement::IsQuadratic(), myCurFace, SMDS_VolumeTool::Facet::myIndex, myNbFaces, SMDS_VolumeTool::Facet::myNbNodes, SMDS_VolumeTool::Facet::myNodes, myVolume, and setFace().
Referenced by SMESH_MesherHelper::FixQuadraticElements().
|
static |
Useful to know nb of corner nodes of a quadratic volume.
| type | - volume type |
| int | - nb of corner nodes |
References HEX_PRISM, HEXA, PENTA, PYRAM, QUAD_HEXA, QUAD_PENTA, QUAD_PYRAM, QUAD_TETRA, and TETRA.
Referenced by StdMeshers_Projection_3D::Compute().
| int SMDS_VolumeTool::NbFaceNodes | ( | int | faceIndex | ) | const |
References myCurFace, SMDS_VolumeTool::Facet::myNbNodes, and setFace().
Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces(), SMESH_MesherHelper::AddTLinks(), DriverSTL_W_SMDS_Mesh::findVolumeTriangles(), SMESH_MesherHelper::FixQuadraticElements(), GetAllExistingFaces(), SMESH_MeshAlgos::GetDistance(), SMESH_Mesh_i::GetElemFaceNodes(), GetFaceIndex(), SMESH_Pattern::getFacesDefinition(), SMESH_MeshEditor::GetHexaFacetsToSplit(), SMESH_Algo::GetMeshError(), SMESH::Controls::AspectRatio3D::GetValue(), SMESH::Controls::BareBorderVolume::IsSatisfy(), SMESH_MeshEditor::Make2DMeshFrom3D(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_Pattern::makePolyElements(), SMESH_MeshEditor::makeWalls(), SMDS_MeshVolume::NbFaceNodes(), SMESH::SelectionProxy::perFaceConnectivity(), DriverCGNS_Write::Perform(), SMESH::Controls::Warping3D::ProcessVolumeELement(), SMESH_MeshEditor::Reorient(), SMESH_MeshEditor::SewSideElements(), splitPolygon(), SMESH_MeshEditor::SplitVolumes(), and SMESH_MeshEditor::UpdateVolumes().
|
static |
References HEX_PRISM, HEXA, PENTA, PYRAM, QUAD_HEXA, QUAD_PENTA, QUAD_PYRAM, QUAD_TETRA, and TETRA.
| int SMDS_VolumeTool::NbFaces | ( | ) | const |
Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces(), SMESH_MesherHelper::AddTLinks(), AllFacesSameOriented(), StdMeshers_HexaFromSkin_3D::Compute(), DriverSTL_W_SMDS_Mesh::findVolumeTriangles(), SMESH_MesherHelper::FixQuadraticElements(), GetAllExistingFaces(), SMESH_MeshAlgos::GetDistance(), SMESH_Mesh_i::GetElemFaceNodes(), SMESH_Pattern::getFacesDefinition(), SMESH_MeshEditor::GetHexaFacetsToSplit(), SMESH_Algo::GetMeshError(), GetOppFaceIndex(), GetSize(), SMESH::Controls::AspectRatio3D::GetValue(), SMESH_MeshAlgos::IntersectRayVolume(), SMESH::Controls::BadOrientedVolume::IsSatisfy(), SMESH::Controls::BareBorderVolume::IsSatisfy(), SMESH_Block::LoadMeshBlock(), SMESH_MeshEditor::Make2DMeshFrom3D(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_Pattern::makePolyElements(), SMESH_MeshEditor::makeWalls(), SMESH::SelectionProxy::perFaceConnectivity(), DriverCGNS_Write::Perform(), SMESH::Controls::Warping3D::ProcessVolumeELement(), SMESH_MeshEditor::Reorient(), setFace(), SMESH_MeshEditor::SewSideElements(), SMESHGUI_SplitVolumesDlg::showFacetByElement(), splitPolygon(), SMESH_MeshEditor::SplitVolumes(), and SMESH_MeshEditor::UpdateVolumes().
|
static |
References HEX_PRISM, HEXA, PENTA, PYRAM, QUAD_HEXA, QUAD_PENTA, QUAD_PYRAM, QUAD_TETRA, and TETRA.
| int SMDS_VolumeTool::NbNodes | ( | ) | const |
|
private |
References GetFaceNormal(), myCurFace, SMDS_VolumeTool::Facet::myNodes, and myVolumeNodes.
Referenced by IsFaceExternal().
| bool SMDS_VolumeTool::Set | ( | const SMDS_MeshElement * | theVolume, |
| const bool | ignoreCentralNodes = true, |
||
| const std::vector< const SMDS_MeshNode * > * | nodes = 0 |
||
| ) |
References SMDS_MeshElement::begin_nodes(), SMDS_MeshElement::end_nodes(), GetFaceNormal(), SMDS_MeshElement::GetType(), IsLinked(), SMDS_MeshElement::IsPoly(), myAllFacesNbNodes, myAllFacesNodeIndices_F, myAllFacesNodeIndices_RE, myCurFace, myExternalFaces, myFwdLinks, myIgnoreCentralNodes, SMDS_VolumeTool::Facet::myIndex, myNbFaces, SMDS_VolumeTool::Facet::myNodeIndices, SMDS_VolumeTool::Facet::myNodes, myPolyedre, myPolyFacetOri, myPolyIndices, myPolyQuantities, myVolForward, myVolume, myVolumeNodes, SMDS_MeshElement::NbCornerNodes(), SMDS_MeshElement::NbFaces(), SMDS_MeshElement::NbNodes(), setFace(), SMDSAbs_Volume, SMDS_MeshNode::X(), SMDS_MeshNode::Y(), and SMDS_MeshNode::Z().
Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces(), StdMeshers_Prism_3D::AddPrisms(), SMESH_Mesh_i::BaryCenter(), SMESH_MeshAlgos::DeMerge(), DriverSTL_W_SMDS_Mesh::findVolumeTriangles(), SMESH_MesherHelper::FixQuadraticElements(), SMESH_MeshEditor::GetHexaFacetsToSplit(), SMESH_Algo::GetMeshError(), SMESH::Controls::Volume::GetValue(), SMESH::Controls::ScaledJacobian::GetValue(), SMESH_MeshAlgos::IntersectRayVolume(), SMESH::Controls::BareBorderVolume::IsSatisfy(), SMESH::Controls::OverConstrainedVolume::IsSatisfy(), SMESH_Block::LoadMeshBlock(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_Pattern::makePolyElements(), StdMeshers_Penta_3D::MakeVolumeMesh(), SMESH_MeshEditor::makeWalls(), StdMeshers_QuadToTriaAdaptor::MergePiramids(), SMESH::SelectionProxy::perFaceConnectivity(), DriverCGNS_Write::Perform(), SMESH_MeshEditor::Reorient2DBy3D(), SMESH_MeshEditor::SewFreeBorder(), SMDS_VolumeTool(), splitPolygon(), and SMESH_MeshEditor::SplitVolumes().
| void SMDS_VolumeTool::SetExternalNormal | ( | ) |
References myCurFace, myExternalFaces, and SMDS_VolumeTool::Facet::myIndex.
Referenced by StdMeshers::Cartesian3D::Hexahedron::addFaces(), SMESH_MeshEditor::applyMerge(), SMESH_MeshAlgos::GetDistance(), SMESH_Block::LoadMeshBlock(), SMESH_MeshEditor::Make2DMeshFrom3D(), SMESH_MeshEditor::MakeBoundaryMesh(), SMESH_MeshEditor::makeWalls(), DriverCGNS_Write::Perform(), SMESH_MeshEditor::Reorient2DBy3D(), and SMESHGUI_SplitVolumesDlg::showFacetByElement().
|
private |
myAllFacesNodeIndices_FE = &Hexa_FE[0][0];
References SMDS_MeshVolume::GetQuantities(), IsFaceExternal(), SMDS_MeshElement::IsPoly(), MESSAGE, myAllFacesNbNodes, myAllFacesNodeIndices_F, myAllFacesNodeIndices_RE, myCurFace, myExternalFaces, myIgnoreCentralNodes, SMDS_VolumeTool::Facet::myIndex, myMaxFaceNbNodes, SMDS_VolumeTool::Facet::myNbNodes, SMDS_VolumeTool::Facet::myNodeIndices, SMDS_VolumeTool::Facet::myNodes, myPolyedre, myPolyIndices, myPolyQuantities, myVolForward, myVolume, myVolumeNodes, NbFaces(), and reverse().
Referenced by AllFacesSameOriented(), GetAllExistingFaces(), GetFaceArea(), GetFaceBaryCenter(), GetFaceNodes(), GetFaceNodesIndices(), GetFaceNormal(), GetSize(), IsFaceExternal(), IsFreeFace(), IsFreeFaceAdv(), IsFreeFaceCheckAllNodes(), MaxLinearSize2(), MinLinearSize2(), NbFaceNodes(), and Set().
|
mutableprivate |
Referenced by GetCenterNodeIndex(), GetOppFaceIndex(), IsLinked(), Set(), and setFace().
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
Referenced by AllFacesSameOriented(), GetAllExistingFaces(), GetFaceArea(), GetFaceBaryCenter(), GetFaceNodes(), GetFaceNodesIndices(), GetFaceNormal(), GetSize(), Inverse(), IsFaceExternal(), IsFreeFace(), IsFreeFaceAdv(), IsFreeFaceCheckAllNodes(), IsOut(), MaxLinearSize2(), MinLinearSize2(), NbFaceNodes(), projectNodesToNormal(), Set(), SetExternalNormal(), setFace(), and ~SMDS_VolumeTool().
|
mutableprivate |
Referenced by AllFacesSameOriented(), IsFaceExternal(), Set(), SetExternalNormal(), and setFace().
|
private |
Referenced by AllFacesSameOriented(), IsFaceExternal(), and Set().
|
mutableprivate |
Referenced by setFace().
|
private |
Referenced by GetFaceIndex(), IsLinked(), IsOut(), MaxLinearSize2(), MinLinearSize2(), and Set().
|
private |
Referenced by GetFaceNormal(), GetOppFaceIndex(), GetSize(), GetVolumeType(), IsFaceExternal(), IsLinked(), Set(), and setFace().
|
private |
Referenced by IsFaceExternal(), and Set().
|
private |
Referenced by IsLinked(), Set(), and setFace().
|
private |
|
private |