Version: 6.3.1
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | Friends

SMDS_QuadraticVolumeOfNodes Class Reference

#include <SMDS_QuadraticVolumeOfNodes.hxx>

Inheritance diagram for SMDS_QuadraticVolumeOfNodes:
Inheritance graph
[legend]

Public Types

typedef SMDS_StdIterator
< const SMDS_MeshNode
*, SMDS_ElemIteratorPtr
iterator

Public Member Functions

 SMDS_QuadraticVolumeOfNodes (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n14, const SMDS_MeshNode *n24, const SMDS_MeshNode *n34)
 SMDS_QuadraticVolumeOfNodes (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n15, const SMDS_MeshNode *n25, const SMDS_MeshNode *n35, const SMDS_MeshNode *n45)
 SMDS_QuadraticVolumeOfNodes (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n31, const SMDS_MeshNode *n45, const SMDS_MeshNode *n56, const SMDS_MeshNode *n64, const SMDS_MeshNode *n14, const SMDS_MeshNode *n25, const SMDS_MeshNode *n36)
 SMDS_QuadraticVolumeOfNodes (const SMDS_MeshNode *n1, const SMDS_MeshNode *n2, const SMDS_MeshNode *n3, const SMDS_MeshNode *n4, const SMDS_MeshNode *n5, const SMDS_MeshNode *n6, const SMDS_MeshNode *n7, const SMDS_MeshNode *n8, const SMDS_MeshNode *n12, const SMDS_MeshNode *n23, const SMDS_MeshNode *n34, const SMDS_MeshNode *n41, const SMDS_MeshNode *n56, const SMDS_MeshNode *n67, const SMDS_MeshNode *n78, const SMDS_MeshNode *n85, const SMDS_MeshNode *n15, const SMDS_MeshNode *n26, const SMDS_MeshNode *n37, const SMDS_MeshNode *n48)
virtual SMDSAbs_EntityType GetEntityType () const
 Return type of entity.
virtual bool IsQuadratic () const
virtual bool IsMediumNode (const SMDS_MeshNode *node) const
bool ChangeNodes (const SMDS_MeshNode *nodes[], const int nbNodes)
virtual int NbNodes () const
 Return The number of nodes owned by the current element.
virtual int NbEdges () const
 Return the number of edges owned by or linked with the current element.
virtual int NbFaces () const
 Return the number of faces owned by or linked with the current element.
virtual void Print (std::ostream &OS) const
virtual const SMDS_MeshNodeGetNode (const int ind) const
 Return node by its index.
SMDSAbs_ElementType GetType () const
 Return the type of the current element.
virtual vtkIdType GetVtkType () const
virtual bool vtkOrder (const SMDS_MeshNode *nodes[], const int nbNodes)
SMDS_ElemIteratorPtr nodesIterator () const
 Create an iterator which iterate on nodes owned by the element.
SMDS_ElemIteratorPtr edgesIterator () const
 Create an iterator which iterate on edges linked with or owned by the element.
SMDS_ElemIteratorPtr facesIterator () const
 Create an iterator which iterate on faces linked with or owned by the element.
virtual SMDS_ElemIteratorPtr nodesIteratorToUNV () const
 virtual, redefined in vtkEdge, vtkFace and vtkVolume classes
virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator () const
 virtual, redefined in vtkEdge, vtkFace and vtkVolume classes
iterator begin_nodes () const
iterator end_nodes () const
int GetID () const
virtual bool IsPoly () const
virtual int NbCornerNodes () const
 Return number of nodes excluding medium ones.
const SMDS_MeshNodeGetNodeWrap (const int ind) const
 Return node by its index.
virtual bool IsValidIndex (const int ind) const
 Return true if index of node is valid (0 <= ind < NbNodes())
int WrappedIndex (const int ind) const
 Return a valid node index, fixing the given one if necessary.
int GetNodeIndex (const SMDS_MeshNode *node) const
 Check if a node belongs to the element.
ShortType getMeshId () const
LongType getshapeId () const
int getIdInShape () const
int getVtkId () const

Static Public Attributes

static int nbCells = 0

Protected Member Functions

virtual SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const
void exchange (const SMDS_MeshNode *nodes[], int a, int b)
void setId (int id)
void setShapeId (LongType shapeId)
void setIdInShape (int id)
void setVtkId (int vtkId)
virtual void init (int id=-1, ShortType meshId=-1, LongType shapeId=0)

Protected Attributes

int myID
 Element index in vector SMDS_Mesh.myNodes or SMDS_Mesh.myCells.
int myVtkID
 index in vtkUnstructuredGrid
ShortType myMeshId
 SMDS_Mesh identification in SMESH.
LongType myShapeId
 SubShape and SubMesh identification in SMESHDS.
int myIdInShape
 Element index in SMESHDS_SubMesh vector.

Private Attributes

std::vector< const
SMDS_MeshNode * > 
myNodes

Friends

class SMDS_Mesh
class SMESHDS_Mesh
class SMESHDS_SubMesh
class SMDS_MeshElementIDFactory
std::ostream & operator<< (std::ostream &OS, const SMDS_MeshElement *)
bool SMDS_MeshElementIDFactory::BindID (int ID, SMDS_MeshElement *elem)

Detailed Description

Definition at line 34 of file SMDS_QuadraticVolumeOfNodes.hxx.


Member Typedef Documentation

Definition at line 72 of file SMDS_MeshElement.hxx.


Constructor & Destructor Documentation

SMDS_QuadraticVolumeOfNodes::SMDS_QuadraticVolumeOfNodes ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n31,
const SMDS_MeshNode n14,
const SMDS_MeshNode n24,
const SMDS_MeshNode n34 
)

Definition at line 46 of file SMDS_QuadraticVolumeOfNodes.cxx.

References SMESH_AdvancedEditor.n1, SMESH_AdvancedEditor.n2, SMESH_AdvancedEditor.n3, and SMESH_AdvancedEditor.n4.

{
  //MESSAGE("*********************************************** SMDS_QuadraticVolumeOfNodes");
  myNodes.resize( 10 );
  myNodes[ 0 ] = n1;
  myNodes[ 1 ] = n2;
  myNodes[ 2 ] = n3;
  myNodes[ 3 ] = n4;
  myNodes[ 4 ] = n12;
  myNodes[ 5 ] = n23;
  myNodes[ 6 ] = n31;
  myNodes[ 7 ] = n14;
  myNodes[ 8 ] = n24;
  myNodes[ 9 ] = n34;
}
SMDS_QuadraticVolumeOfNodes::SMDS_QuadraticVolumeOfNodes ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode n15,
const SMDS_MeshNode n25,
const SMDS_MeshNode n35,
const SMDS_MeshNode n45 
)

Definition at line 78 of file SMDS_QuadraticVolumeOfNodes.cxx.

References SMESH_AdvancedEditor.n1, SMESH_AdvancedEditor.n2, SMESH_AdvancedEditor.n3, SMESH_AdvancedEditor.n4, and SMESH_AdvancedEditor.n5.

{
  //MESSAGE("*********************************************** SMDS_QuadraticVolumeOfNodes");
  myNodes.resize( 13 );
  myNodes[ 0 ] = n1;
  myNodes[ 1 ] = n2;
  myNodes[ 2 ] = n3;
  myNodes[ 3 ] = n4;
  myNodes[ 4 ] = n5;
  myNodes[ 5 ] = n12;
  myNodes[ 6 ] = n23;
  myNodes[ 7 ] = n34;
  myNodes[ 8 ] = n41;
  myNodes[ 9 ] = n15;
  myNodes[ 10 ] = n25;
  myNodes[ 11 ] = n35;
  myNodes[ 12 ] = n45;
}
SMDS_QuadraticVolumeOfNodes::SMDS_QuadraticVolumeOfNodes ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n31,
const SMDS_MeshNode n45,
const SMDS_MeshNode n56,
const SMDS_MeshNode n64,
const SMDS_MeshNode n14,
const SMDS_MeshNode n25,
const SMDS_MeshNode n36 
)

Definition at line 116 of file SMDS_QuadraticVolumeOfNodes.cxx.

References SMESH_AdvancedEditor.n1, SMESH_AdvancedEditor.n2, SMESH_AdvancedEditor.n3, SMESH_AdvancedEditor.n4, SMESH_AdvancedEditor.n5, and SMESH_AdvancedEditor.n6.

{
  //MESSAGE("*********************************************** SMDS_QuadraticVolumeOfNodes");
  myNodes.resize( 15 );
  myNodes[ 0 ] = n1;
  myNodes[ 1 ] = n2;
  myNodes[ 2 ] = n3;
  myNodes[ 3 ] = n4;
  myNodes[ 4 ] = n5;
  myNodes[ 5 ] = n6;
  myNodes[ 6 ] = n12;
  myNodes[ 7 ] = n23;
  myNodes[ 8 ] = n31;
  myNodes[ 9 ] = n45;
  myNodes[ 10 ] = n56;
  myNodes[ 11 ] = n64;
  myNodes[ 12 ] = n14;
  myNodes[ 13 ] = n25;
  myNodes[ 14 ] = n36;
}
SMDS_QuadraticVolumeOfNodes::SMDS_QuadraticVolumeOfNodes ( const SMDS_MeshNode n1,
const SMDS_MeshNode n2,
const SMDS_MeshNode n3,
const SMDS_MeshNode n4,
const SMDS_MeshNode n5,
const SMDS_MeshNode n6,
const SMDS_MeshNode n7,
const SMDS_MeshNode n8,
const SMDS_MeshNode n12,
const SMDS_MeshNode n23,
const SMDS_MeshNode n34,
const SMDS_MeshNode n41,
const SMDS_MeshNode n56,
const SMDS_MeshNode n67,
const SMDS_MeshNode n78,
const SMDS_MeshNode n85,
const SMDS_MeshNode n15,
const SMDS_MeshNode n26,
const SMDS_MeshNode n37,
const SMDS_MeshNode n48 
)

Definition at line 158 of file SMDS_QuadraticVolumeOfNodes.cxx.

References SMESH_AdvancedEditor.n1, SMESH_AdvancedEditor.n2, SMESH_AdvancedEditor.n3, SMESH_AdvancedEditor.n4, SMESH_AdvancedEditor.n5, SMESH_AdvancedEditor.n6, SMESH_AdvancedEditor.n7, and SMESH_AdvancedEditor.n8.

{
  //MESSAGE("*********************************************** SMDS_QuadraticVolumeOfNodes");
  myNodes.resize( 20 );
  myNodes[ 0 ] = n1;
  myNodes[ 1 ] = n2;
  myNodes[ 2 ] = n3;
  myNodes[ 3 ] = n4;
  myNodes[ 4 ] = n5;
  myNodes[ 5 ] = n6;
  myNodes[ 6 ] = n7;
  myNodes[ 7 ] = n8;
  myNodes[ 8 ] = n12;
  myNodes[ 9 ] = n23;
  myNodes[ 10 ] = n34;
  myNodes[ 11 ] = n41;
  myNodes[ 12 ] = n56;
  myNodes[ 13 ] = n67;
  myNodes[ 14 ] = n78;
  myNodes[ 15 ] = n85;
  myNodes[ 16 ] = n15;
  myNodes[ 17 ] = n26;
  myNodes[ 18 ] = n37;
  myNodes[ 19 ] = n48;
}

Member Function Documentation

iterator SMDS_MeshElement.begin_nodes ( ) const [inherited]
bool SMDS_QuadraticVolumeOfNodes::ChangeNodes ( const SMDS_MeshNode nodes[],
const int  nbNodes 
) [virtual]

Implements SMDS_MeshCell.

Definition at line 230 of file SMDS_QuadraticVolumeOfNodes.cxx.

{
  if( nbNodes==10 || nbNodes==13 || nbNodes==15 || nbNodes==20 ) {
    myNodes.resize(nbNodes);
    int i=0;
    for(; i<nbNodes; i++) {
      myNodes[i] = nodes[i];
    }
    return true;
  }
  return false;
}
SMDS_ElemIteratorPtr SMDS_MeshElement::edgesIterator ( ) const [inherited]

Create an iterator which iterate on edges linked with or owned by the element.

This method call elementsIterator().

Definition at line 80 of file SMDS_MeshElement.cxx.

References SMDSAbs_Edge.

Referenced by SMDS_Mesh.addChildrenWithNodes().

SMDS_ElemIteratorPtr SMDS_QuadraticVolumeOfNodes::elementsIterator ( SMDSAbs_ElementType  type) const [protected, virtual]
iterator SMDS_MeshElement.end_nodes ( ) const [inherited]
void SMDS_MeshCell.exchange ( const SMDS_MeshNode nodes[],
int  a,
int  b 
) [protected, inherited]

Definition at line 41 of file SMDS_MeshCell.hxx.

References SMESH_demo_hexa2_upd.a.

Referenced by SMDS_VtkVolume.vtkOrder().

  {
    const SMDS_MeshNode* noda = nodes[a];
    nodes[a] = nodes[b];
    nodes[b] = noda;
  }
SMDS_ElemIteratorPtr SMDS_MeshElement::facesIterator ( ) const [inherited]

Create an iterator which iterate on faces linked with or owned by the element.

This method call elementsIterator().

Definition at line 89 of file SMDS_MeshElement.cxx.

References SMDSAbs_Face.

Referenced by SMDS_Mesh.addChildrenWithNodes(), and SMESH.Controls.ManifoldPart.getFacesByLink().

SMDSAbs_EntityType SMDS_QuadraticVolumeOfNodes::GetEntityType ( ) const [virtual]

Return type of entity.

Implements SMDS_MeshElement.

Definition at line 376 of file SMDS_QuadraticVolumeOfNodes.cxx.

References SMDSEntity_Quad_Hexa, SMDSEntity_Quad_Penta, SMDSEntity_Quad_Pyramid, and SMDSEntity_Quad_Tetra.

{
  SMDSAbs_EntityType aType = SMDSEntity_Quad_Tetra;
  switch(NbNodes())
  {
  case 10: aType = SMDSEntity_Quad_Tetra;   break;
  case 13: aType = SMDSEntity_Quad_Pyramid; break;
  case 15: aType = SMDSEntity_Quad_Penta;   break;
  case 20:
  default: aType = SMDSEntity_Quad_Hexa;    break;
  }
  return aType;
}
int SMDS_MeshElement.GetID ( ) const [inherited]

Definition at line 79 of file SMDS_MeshElement.hxx.

Referenced by SMESHDS_Mesh.Add0DElement(), SMESH_MeshEditor_i.Add0DElement(), SMESHDS_Mesh.Add0DElementWithID(), SMESHDS_Mesh.AddEdge(), SMESH_MeshEditor_i.AddEdge(), SMESHDS_Mesh.AddEdgeWithID(), SMESHDS_SubMesh.AddElement(), SMESHDS_Mesh.AddFace(), SMESH_MeshEditor_i.AddFace(), SMESHDS_Mesh.AddFaceWithID(), SMESHDS_SubMesh.AddNode(), SMESHDS_Mesh.AddNode(), SMESH_MeshEditor_i.AddNode(), SMESHDS_Mesh.AddNodeWithID(), SMESHDS_Mesh.AddPolygonalFace(), SMESH_MeshEditor_i.AddPolygonalFace(), SMESHDS_Mesh.AddPolyhedralVolume(), SMESH_MeshEditor_i.AddPolyhedralVolume(), SMESH_MeshEditor_i.AddPolyhedralVolumeByFaces(), SMESHDS_Mesh.AddVolume(), SMESH_MeshEditor_i.AddVolume(), SMESHDS_Mesh.AddVolumeWithID(), SMESH_VisualObjDef.buildElemPrs(), SMESHDS_Mesh.ChangeElementNodes(), SMESHDS_Mesh.ChangePolyhedronNodes(), SMESHGUI_CreatePolyhedralVolumeDlg.checkEditLine(), SMESH_MesherHelper.CheckNodeU(), SMDS_Mesh.Clear(), collectMeshInfo(), StdMeshers_Projection_3D.Compute(), SMESH_Gen_i.ConcatenateCommon(), SMESHDS_GroupBase.Contains(), SMESH_MeshEditor.convertElemToQuadratic(), SMESH_MeshEditor.ConvertFromQuadratic(), SMESH_MeshEditor.ConvertToQuadratic(), SMESH_Gen_i.CopyMesh(), SMESH_Mesh_i.CreateDimGroup(), SMESH_MeshEditor.CreateFlatElementsOnFacesGroups(), SMESH_VisualObjDef.createPoints(), SMESHGUI_CuttingOfQuadsDlg.displayPreview(), SMESHGUI_CreatePolyhedralVolumeDlg.displaySimulation(), SMESH_MeshEditor.DoubleNodesOnGroupBoundaries(), StdMeshers_PrismAsBlock.THorizontalEdgeAdaptor.dumpNodes(), enlargeBoundingBox(), FillSequence(), SMESH_OctreeNode.FindCoincidentNodes(), SMESH.Controls.ManifoldPart.findConnected(), SMESH_Mesh_i.FindElementByNodes(), SMESH_MeshEditor.FindFreeBorder(), SMESH_MeshEditor.FindMatchingNodes(), SMESH_MeshEditor.FindShape(), findTriangles(), SMESH.Controls.FreeEdges.GetBoreders(), SMESH_subMesh_i.GetElementsByType(), SMESH_Mesh_i.GetElementsByType(), SMESH_Mesh_i.GetElemNode(), LinkID_Gen.GetLinkID(), SMESH_Mesh_i.GetNodeInverseElements(), getNodeNodeDistance(), SMESH_Mesh_i.GetSubMeshNodesId(), SMESH.Controls.MultiConnection2D.GetValue(), SMESH.Controls.MultiConnection2D.GetValues(), SMESH.Controls.Length2D.GetValues(), SMDS_VolumeTool.ID(), SMESHGUI_TreeElemInfo.information(), SMESHGUI_SimpleElemInfo.information(), SMESH.Controls.FreeEdges.IsFreeEdge(), SMESH.Controls.ManifoldPart.isInPlane(), SMESH.Controls.CoplanarFaces.IsSatisfy(), SMESH_ProxyMesh.IsTemporary(), VISCOUS._ViscousBuilder.makeGroupOfLE(), StdMeshers_Penta_3D.MakeMeshOnFxy1(), StdMeshers_Penta_3D.MakeNodes(), StdMeshers_Penta_3D.MakeVolumeMesh(), SMESH_MeshEditor_i.MoveClosestNodeToPoint(), SMESHDS_Mesh.MoveNode(), SMESHGUI_ElemInfo.nodeConnectivity(), SMESHGUI_WhatIsDlg.onTextChange(), SMESHGUI_TranslationDlg.onTextChange(), SMESHGUI_SymmetryDlg.onTextChange(), SMESHGUI_SingleEditDlg.onTextChange(), SMESHGUI_SewingDlg.onTextChange(), SMESHGUI_ScaleDlg.onTextChange(), SMESHGUI_RotationDlg.onTextChange(), SMESHGUI_RevolutionDlg.onTextChange(), SMESHGUI_ExtrusionAlongPathDlg.onTextChange(), SMESHGUI_CreatePolyhedralVolumeDlg.onTextChange(), SMESHGUI_MeshPatternDlg.onTextChanged(), TIDCompare.operator()(), TNode.operator<(), operator<<(), DriverUNV_W_SMDS_Mesh.Perform(), DriverMED_W_SMESHDS_Mesh.Perform(), DriverDAT_W_SMDS_Mesh.Perform(), SMDS_VtkVolume.Print(), SMDS_QuadraticEdge.Print(), SMDS_Mesh0DElement.Print(), SMDS_FaceOfEdges.Print(), SMESH.Controls.ElementsOnShape.process(), SMESH.Controls.ElementsOnSurface.process(), SMESH.Controls.ManifoldPart.process(), StdMeshers_Prism_3D.projectBottomToTop(), SMESHDS_Mesh.RemoveElement(), SMESHDS_Mesh.RemoveFreeElement(), SMDS_Mesh.RemoveFreeElement(), SMESHDS_Mesh.RemoveFreeNode(), SMESHDS_Mesh.RemoveNode(), SMESH_MeshEditor.removeQuadElem(), SMESH_ProxyMesh.removeTmpElement(), SMDS_Mesh.Renumber(), SMESH_Gen_i.Save(), SMESHGUI_WhatIsDlg.SelectionIntoArgument(), VISCOUS._ViscousBuilder.setEdgeData(), SMDS_Mesh0DElement.SMDS_Mesh0DElement(), SMESH_TLink.SMESH_TLink(), StdMeshers_MEFISTO_2D.StoreResult(), SMESH_MeshEditor_i.storeResult(), SMESH_MeshEditor.sweepElement(), and SMDS_Mesh.~SMDS_Mesh().

{ return myID; };
int SMDS_MeshElement.getIdInShape ( ) const [inherited]
ShortType SMDS_MeshElement.getMeshId ( ) const [inherited]

Definition at line 143 of file SMDS_MeshElement.hxx.

Referenced by SMDS_VolumeTool.GetSize(), and SMESH.Controls.AspectRatio3D.GetValue().

{return myMeshId; }
const SMDS_MeshNode * SMDS_QuadraticVolumeOfNodes::GetNode ( const int  ind) const [virtual]

Return node by its index.

Parameters:
ind- node index
Return values:
constSMDS_MeshNode* - the node

Reimplemented from SMDS_MeshElement.

Definition at line 371 of file SMDS_QuadraticVolumeOfNodes.cxx.

References SMESH_test.ind.

{
  return myNodes[ ind ];
}
int SMDS_MeshElement::GetNodeIndex ( const SMDS_MeshNode node) const [inherited]
const SMDS_MeshNode* SMDS_MeshElement.GetNodeWrap ( const int  ind) const [inherited]

Return node by its index.

Parameters:
ind- node index
Return values:
constSMDS_MeshNode* - the node

Index is wrapped if it is out of a valid range

Definition at line 116 of file SMDS_MeshElement.hxx.

Referenced by _MyEdgeIterator._MyEdgeIterator(), SMESH_MeshEditor.GetLinkedNodes(), and SMESH_MeshEditor.makeWalls().

{ return GetNode( WrappedIndex( ind )); }
LongType SMDS_MeshElement.getshapeId ( ) const [inherited]
SMDSAbs_ElementType SMDS_MeshVolume::GetType ( ) const [virtual, inherited]

Return the type of the current element.

Implements SMDS_MeshElement.

Reimplemented in SMDS_PolyhedralVolumeOfNodes, SMDS_VolumeOfNodes, and SMDS_VtkVolume.

Definition at line 34 of file SMDS_MeshVolume.cxx.

References SMDSAbs_Volume.

{
        return SMDSAbs_Volume;
}
int SMDS_MeshElement.getVtkId ( ) const [inherited]
vtkIdType SMDS_MeshVolume::GetVtkType ( ) const [virtual, inherited]

Implements SMDS_MeshElement.

Reimplemented in SMDS_VtkVolume.

Definition at line 39 of file SMDS_MeshVolume.cxx.

{
  return VTK_CONVEX_POINT_SET; // --- must be reimplemented in derived classes
}
void SMDS_MeshElement::init ( int  id = -1,
ShortType  meshId = -1,
LongType  shapeId = 0 
) [protected, virtual, inherited]

Definition at line 48 of file SMDS_MeshElement.cxx.

Referenced by SMDS_VtkFace.init(), SMDS_VtkEdge.init(), and SMDS_VtkFace.initPoly().

{
  myID = id;
  myMeshId = meshId;
  myShapeId = shapeId;
  myIdInShape = -1;
}
SMDS_ElemIteratorPtr SMDS_MeshElement::interlacedNodesElemIterator ( ) const [virtual, inherited]

virtual, redefined in vtkEdge, vtkFace and vtkVolume classes

Reimplemented in SMDS_QuadraticEdge, SMDS_QuadraticFaceOfNodes, SMDS_VtkEdge, SMDS_VtkFace, and SMDS_VtkVolume.

Definition at line 188 of file SMDS_MeshElement.cxx.

References MESSAGE.

Referenced by SMESH.Controls.MultiConnection2D.GetValues(), and SMESH_MeshEditor.isOut().

{
  MESSAGE("Iterator not implemented");
  return SMDS_ElemIteratorPtr((SMDS_ElemIterator*) NULL);
}
bool SMDS_QuadraticVolumeOfNodes::IsMediumNode ( const SMDS_MeshNode node) const [virtual]

Reimplemented from SMDS_MeshElement.

Definition at line 209 of file SMDS_QuadraticVolumeOfNodes.cxx.

{
  int nbCorners = 0;
  switch (myNodes.size()) {
  case 10: nbCorners = 4; break;
  case 13: nbCorners = 5; break;
  case 15: nbCorners = 6; break;
  default: nbCorners = 8;
  }
  for ( int i = nbCorners; i<myNodes.size(); i++) {
    if(myNodes[i]==node) return true;
  }
  return false;
}
virtual bool SMDS_MeshElement.IsPoly ( ) const [virtual, inherited]
virtual bool SMDS_QuadraticVolumeOfNodes.IsQuadratic ( ) const [virtual]

Reimplemented from SMDS_MeshElement.

Definition at line 104 of file SMDS_QuadraticVolumeOfNodes.hxx.

{ return true; }
bool SMDS_MeshElement::IsValidIndex ( const int  ind) const [virtual, inherited]

Return true if index of node is valid (0 <= ind < NbNodes())

Parameters:
ind- node index
Return values:
bool- index check result

Definition at line 220 of file SMDS_MeshElement.cxx.

{
  return ( ind>-1 && ind<NbNodes() );
}
int SMDS_MeshElement::NbCornerNodes ( ) const [virtual, inherited]
int SMDS_QuadraticVolumeOfNodes::NbEdges ( ) const [virtual]

Return the number of edges owned by or linked with the current element.

Reimplemented from SMDS_MeshElement.

Definition at line 259 of file SMDS_QuadraticVolumeOfNodes.cxx.

{
  if(myNodes.size()==10)
    return 6;
  else if(myNodes.size()==13)
    return 8;
  else if(myNodes.size()==15)
    return 9;
  else
    return 12;
}
int SMDS_QuadraticVolumeOfNodes::NbFaces ( ) const [virtual]

Return the number of faces owned by or linked with the current element.

Reimplemented from SMDS_MeshElement.

Definition at line 276 of file SMDS_QuadraticVolumeOfNodes.cxx.

{
  if(myNodes.size()==10)
    return 4;
  else if(myNodes.size()==20)
    return 6;
  else
    return 5;
}
int SMDS_QuadraticVolumeOfNodes::NbNodes ( ) const [virtual]

Return The number of nodes owned by the current element.

Reimplemented from SMDS_MeshElement.

Definition at line 249 of file SMDS_QuadraticVolumeOfNodes.cxx.

{
  return myNodes.size();
}
SMDS_ElemIteratorPtr SMDS_MeshElement::nodesIterator ( ) const [inherited]

Create an iterator which iterate on nodes owned by the element.

This method call elementsIterator().

Definition at line 71 of file SMDS_MeshElement.cxx.

References SMDSAbs_Node.

Referenced by SMDS_Mesh.addChildrenWithNodes(), SMESH_MeshEditor_i.AddPolyhedralVolumeByFaces(), SMESH_Pattern.Apply(), SMESH_Mesh_i.BaryCenter(), SMESH_VisualObjDef.buildElemPrs(), centroidalSmooth(), SMDS_Mesh.ChangeElementNodes(), SMDS_Mesh.ChangePolyhedronNodes(), StdMeshers_QuadToTriaAdaptor.Compute2ndPart(), SMESH_Gen_i.ConcatenateCommon(), SMESH_MeshEditor.ConvertToQuadratic(), SMESH_Gen_i.CopyMesh(), SMESH_Mesh_i.CreateDimGroup(), SMESH_Pattern.createElements(), SMESH_MeshEditor.CreateFlatElementsOnFacesGroups(), SMESHGUI_CuttingOfQuadsDlg.displayPreview(), SMESHGUI_CreatePolyhedralVolumeDlg.displaySimulation(), SMESH_MeshEditor.DoubleNodes(), SMESH_MeshEditor.doubleNodes(), SMESH_MeshEditor.DoubleNodesInRegion(), enlargeBoundingBox(), SMESH_MeshEditor.ExtrusionSweep(), SMDS_Mesh.FindEdge(), SMDS_Mesh.FindFace(), SMESH_MeshEditor.FindFreeBorder(), SMESHGUI_MergeDlg.FindGravityCenter(), SMESH_MeshEditor.FindShape(), getAngle(), SMESH.Controls.FreeEdges.GetBoreders(), SMESH_VisualObjDef.GetEdgeNodes(), SMESH_subMesh_i.GetElementsByType(), getFinitElements(), SMESH_MeshEditor.GetLinkedNodes(), getLinks(), getNodesFromElems(), GetNodesFromTwoTria(), SMESH.getNormale(), SMESH_subMesh_i.GetNumberOfNodes(), SMESH.Controls.NumericalFunctor.GetPoints(), getQuadrangleNodes(), SMESH_Mesh_i.GetSubMeshNodesId(), SMESH_ElementSearcherImpl.getTolerance(), SMESH.Controls.MultiConnection2D.GetValue(), SMESH.Controls.MultiConnection2D.GetValues(), SMESH.Controls.Length2D.GetValues(), SMESHGUI_ElemInfo.gravityCenter(), SMESHGUI_TreeElemInfo.information(), SMESHGUI_SimpleElemInfo.information(), SMESH_MeshEditor.InsertNodesIntoLink(), SMESH_MeshEditor.InverseDiag(), SMESH_MeshEditor.isOut(), SMESH_Algo.IsReversedSubMesh(), SMESH.Controls.FreeFaces.IsSatisfy(), SMESH.Controls.FreeEdges.IsSatisfy(), StdMeshers_Penta_3D.LoadIJNodes(), SMESH_MeshEditor.MakeExtrElements(), StdMeshers_Penta_3D.MakeMeshOnFxy1(), SMESH_Pattern.makePolyElements(), SMESHGUI_SingleEditDlg.onTextChange(), DriverDAT_W_SMDS_Mesh.Perform(), StdMeshers_QuadToTriaAdaptor.Preparation(), SMESH.Controls.ElementsOnShape.process(), SMESH.Controls.ElementsOnSurface.process(), SMESH_MeshEditor.QuadToTri(), VISCOUS._ViscousBuilder.refine(), SMDS_Mesh.RemoveFreeElement(), SMESHGUI_WhatIsDlg.SelectionIntoArgument(), SMDS_VolumeTool.Set(), SMDS_MeshElementIDFactory.SetInVtkGrid(), SMESH_MeshEditor.SewFreeBorder(), VISCOUS._ViscousBuilder.shrink(), SortableElement.SortableElement(), StdMeshers_MEFISTO_2D.StoreResult(), SMESH_MeshEditor_i.storeResult(), VISCOUS._Shrinker1D.SwapSrcTgtNodes(), and SMESH_MeshEditor.Transform().

SMDS_ElemIteratorPtr SMDS_MeshElement::nodesIteratorToUNV ( ) const [virtual, inherited]

virtual, redefined in vtkEdge, vtkFace and vtkVolume classes

Reimplemented in SMDS_VtkEdge, SMDS_VtkFace, and SMDS_VtkVolume.

Definition at line 181 of file SMDS_MeshElement.cxx.

References MESSAGE.

Referenced by DriverUNV_W_SMDS_Mesh.Perform().

{
  MESSAGE("Iterator not implemented");
  return SMDS_ElemIteratorPtr((SMDS_ElemIterator*) NULL);
}
void SMDS_QuadraticVolumeOfNodes::Print ( std::ostream &  OS) const [virtual]

Reimplemented from SMDS_MeshElement.

Definition at line 290 of file SMDS_QuadraticVolumeOfNodes.cxx.

{
  OS << "quadratic volume <" << GetID() << " > : ";
  int i, nbNodes = myNodes.size();
  for (i = 0; i < nbNodes - 1; i++)
    OS << myNodes[i] << ",";
  OS << myNodes[i] << ") " << endl;
}
void SMDS_MeshElement.setId ( int  id) [protected, inherited]

Definition at line 149 of file SMDS_MeshElement.hxx.

{myID = id; }
void SMDS_MeshElement.setIdInShape ( int  id) [protected, inherited]
void SMDS_MeshElement.setShapeId ( LongType  shapeId) [protected, inherited]
void SMDS_MeshElement.setVtkId ( int  vtkId) [protected, inherited]

Reimplemented in SMDS_MeshNode.

Definition at line 152 of file SMDS_MeshElement.hxx.

Referenced by SMDS_MeshElementIDFactory.SetInVtkGrid().

{ myVtkID = vtkId; }
virtual bool SMDS_MeshCell.vtkOrder ( const SMDS_MeshNode nodes[],
const int  nbNodes 
) [virtual, inherited]

Reimplemented in SMDS_VtkVolume.

Definition at line 36 of file SMDS_MeshCell.hxx.

Referenced by SMDS_Mesh.ChangeElementNodes().

{return true; }
int SMDS_MeshElement.WrappedIndex ( const int  ind) const [inherited]

Return a valid node index, fixing the given one if necessary.

Parameters:
ind- node index
Return values:
int- valid node index

Definition at line 130 of file SMDS_MeshElement.hxx.

References SMESH_test.ind.

                                        {
    if ( ind < 0 ) return NbNodes() + ind % NbNodes();
    if ( ind >= NbNodes() ) return ind % NbNodes();
    return ind;
  }

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  OS,
const SMDS_MeshElement ME 
) [friend, inherited]

Definition at line 61 of file SMDS_MeshElement.cxx.

{
        ME->Print(OS);
        return OS;
}
friend class SMDS_Mesh [friend, inherited]

Reimplemented in SMDS_MeshNode.

Definition at line 94 of file SMDS_MeshElement.hxx.

friend class SMDS_MeshElementIDFactory [friend, inherited]

Definition at line 97 of file SMDS_MeshElement.hxx.

bool SMDS_MeshElementIDFactory::BindID ( int  ID,
SMDS_MeshElement elem 
) [friend, inherited]
friend class SMESHDS_Mesh [friend, inherited]

Reimplemented in SMDS_MeshNode.

Definition at line 95 of file SMDS_MeshElement.hxx.

friend class SMESHDS_SubMesh [friend, inherited]

Definition at line 96 of file SMDS_MeshElement.hxx.


Field Documentation

int SMDS_MeshElement.myID [protected, inherited]

Element index in vector SMDS_Mesh.myNodes or SMDS_Mesh.myCells.

Definition at line 159 of file SMDS_MeshElement.hxx.

Referenced by SMDS_MeshNode.Print(), and SMDS_Mesh.registerElement().

int SMDS_MeshElement.myIdInShape [protected, inherited]

Element index in SMESHDS_SubMesh vector.

Definition at line 167 of file SMDS_MeshElement.hxx.

ShortType SMDS_MeshElement.myMeshId [protected, inherited]
std::vector<const SMDS_MeshNode *> SMDS_QuadraticVolumeOfNodes.myNodes [private]

Definition at line 128 of file SMDS_QuadraticVolumeOfNodes.hxx.

LongType SMDS_MeshElement.myShapeId [protected, inherited]

SubShape and SubMesh identification in SMESHDS.

Definition at line 165 of file SMDS_MeshElement.hxx.

int SMDS_MeshElement.myVtkID [protected, inherited]
int SMDS_MeshCell::nbCells = 0 [static, inherited]

Definition at line 38 of file SMDS_MeshCell.hxx.

Referenced by SMDS_MeshCell.SMDS_MeshCell(), and SMDS_MeshCell.~SMDS_MeshCell().

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS