Go to the documentation of this file.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
00027 #ifndef _SMDS_QuadraticFaceOfNodes_HeaderFile
00028 #define _SMDS_QuadraticFaceOfNodes_HeaderFile
00029
00030 #include "SMESH_SMDS.hxx"
00031
00032 #include "SMDS_MeshFace.hxx"
00033
00034 class SMDS_EXPORT SMDS_QuadraticFaceOfNodes:public SMDS_MeshFace
00035 {
00036 public:
00037 SMDS_QuadraticFaceOfNodes (const SMDS_MeshNode * n1,
00038 const SMDS_MeshNode * n2,
00039 const SMDS_MeshNode * n3,
00040 const SMDS_MeshNode * n12,
00041 const SMDS_MeshNode * n23,
00042 const SMDS_MeshNode * n31);
00043
00044 SMDS_QuadraticFaceOfNodes(const SMDS_MeshNode * n1,
00045 const SMDS_MeshNode * n2,
00046 const SMDS_MeshNode * n3,
00047 const SMDS_MeshNode * n4,
00048 const SMDS_MeshNode * n12,
00049 const SMDS_MeshNode * n23,
00050 const SMDS_MeshNode * n34,
00051 const SMDS_MeshNode * n41);
00052
00053 virtual SMDSAbs_EntityType GetEntityType() const;
00054 virtual bool IsQuadratic() const { return true; }
00055
00056 virtual bool IsMediumNode(const SMDS_MeshNode* node) const;
00057
00058 bool ChangeNodes(const SMDS_MeshNode* nodes[],
00059 const int nbNodes);
00060
00061 virtual int NbNodes() const;
00062 virtual int NbEdges() const;
00063 virtual int NbFaces() const;
00064
00065 virtual void Print (std::ostream & OS) const;
00066
00067 SMDS_NodeIteratorPtr interlacedNodesIterator() const;
00068
00069 SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
00070
00076 virtual const SMDS_MeshNode* GetNode(const int ind) const;
00077
00078 protected:
00079 virtual SMDS_ElemIteratorPtr elementsIterator (SMDSAbs_ElementType type) const;
00080
00081 private:
00082 std::vector<const SMDS_MeshNode *> myNodes;
00083 };
00084
00085 #endif