00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _SMDS_VolumeOfNodes_HeaderFile
00027 #define _SMDS_VolumeOfNodes_HeaderFile
00028
00029 #include "SMESH_SMDS.hxx"
00030
00031 #include "SMDS_MeshVolume.hxx"
00032
00033 class SMDS_EXPORT SMDS_VolumeOfNodes:public SMDS_MeshVolume
00034 {
00035
00036 public:
00037 SMDS_VolumeOfNodes(
00038 const SMDS_MeshNode * node1,
00039 const SMDS_MeshNode * node2,
00040 const SMDS_MeshNode * node3,
00041 const SMDS_MeshNode * node4);
00042 SMDS_VolumeOfNodes(
00043 const SMDS_MeshNode * node1,
00044 const SMDS_MeshNode * node2,
00045 const SMDS_MeshNode * node3,
00046 const SMDS_MeshNode * node4,
00047 const SMDS_MeshNode * node5);
00048 SMDS_VolumeOfNodes(
00049 const SMDS_MeshNode * node1,
00050 const SMDS_MeshNode * node2,
00051 const SMDS_MeshNode * node3,
00052 const SMDS_MeshNode * node4,
00053 const SMDS_MeshNode * node5,
00054 const SMDS_MeshNode * node6);
00055 SMDS_VolumeOfNodes(
00056 const SMDS_MeshNode * node1,
00057 const SMDS_MeshNode * node2,
00058 const SMDS_MeshNode * node3,
00059 const SMDS_MeshNode * node4,
00060 const SMDS_MeshNode * node5,
00061 const SMDS_MeshNode * node6,
00062 const SMDS_MeshNode * node7,
00063 const SMDS_MeshNode * node8);
00064 bool ChangeNodes(const SMDS_MeshNode* nodes[],
00065 const int nbNodes);
00066 ~SMDS_VolumeOfNodes();
00067
00068 void Print(std::ostream & OS) const;
00069 int NbFaces() const;
00070 int NbNodes() const;
00071 int NbEdges() const;
00072 virtual SMDSAbs_ElementType GetType() const;
00073 virtual SMDSAbs_EntityType GetEntityType() const;
00074
00080 virtual const SMDS_MeshNode* GetNode(const int ind) const;
00081
00082 protected:
00083 SMDS_ElemIteratorPtr
00084 elementsIterator(SMDSAbs_ElementType type) const;
00085 const SMDS_MeshNode** myNodes;
00086 int myNbNodes;
00087 };
00088 #endif