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 _SMESH_MeshVSLink_HeaderFile
00028 #define _SMESH_MeshVSLink_HeaderFile
00029
00030 #ifndef _Standard_HeaderFile
00031 #include <Standard.hxx>
00032 #endif
00033 #ifndef _Handle_SMESH_MeshVSLink_HeaderFile
00034 #include <Handle_SMESH_MeshVSLink.hxx>
00035 #endif
00036 #ifndef _TColStd_PackedMapOfInteger_HeaderFile
00037 #include <TColStd_PackedMapOfInteger.hxx>
00038 #endif
00039 #ifndef _Handle_TColStd_HArray2OfInteger_HeaderFile
00040 #include <Handle_TColStd_HArray2OfInteger.hxx>
00041 #endif
00042 #ifndef _Handle_TColStd_HArray2OfReal_HeaderFile
00043 #include <Handle_TColStd_HArray2OfReal.hxx>
00044 #endif
00045 #ifndef _MeshVS_DataSource3D_HeaderFile
00046 #include <MeshVS_DataSource3D.hxx>
00047 #endif
00048 #ifndef _Standard_Boolean_HeaderFile
00049 #include <Standard_Boolean.hxx>
00050 #endif
00051 #ifndef _Standard_Integer_HeaderFile
00052 #include <Standard_Integer.hxx>
00053 #endif
00054 #ifndef _MeshVS_EntityType_HeaderFile
00055 #include <MeshVS_EntityType.hxx>
00056 #endif
00057 #ifndef _Standard_Address_HeaderFile
00058 #include <Standard_Address.hxx>
00059 #endif
00060 #ifndef _Handle_TColStd_HArray1OfInteger_HeaderFile
00061 #include <Handle_TColStd_HArray1OfInteger.hxx>
00062 #endif
00063 #ifndef _Standard_Real_HeaderFile
00064 #include <Standard_Real.hxx>
00065 #endif
00066 #ifndef _SMESH_Mesh_HeaderFile
00067 #include <SMESH_Mesh.hxx>
00068 #endif
00069
00070 class SMESH_MeshVSLink : public MeshVS_DataSource3D {
00071
00072 public:
00073
00074
00075
00077 Standard_EXPORT SMESH_MeshVSLink(const SMESH_Mesh *aMesh);
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00099 Standard_EXPORT Standard_Boolean GetGeom(const Standard_Integer ID,const Standard_Boolean IsElement,TColStd_Array1OfReal& Coords,Standard_Integer& NbNodes,MeshVS_EntityType& Type) const;
00100
00101 Standard_EXPORT Standard_Boolean Get3DGeom(const Standard_Integer ID,Standard_Integer& NbNodes,Handle(MeshVS_HArray1OfSequenceOfInteger)& Data) const;
00102
00105 Standard_EXPORT Standard_Boolean GetGeomType(const Standard_Integer ID,const Standard_Boolean IsElement,MeshVS_EntityType& Type) const;
00106
00108 Standard_EXPORT Standard_Address GetAddr(const Standard_Integer ID,const Standard_Boolean IsElement) const;
00109
00111 Standard_EXPORT Standard_Boolean GetNodesByElement(const Standard_Integer ID,TColStd_Array1OfInteger& NodeIDs,Standard_Integer& NbNodes) const;
00112
00114 Standard_EXPORT const TColStd_PackedMapOfInteger& GetAllNodes() const;
00115
00117 Standard_EXPORT const TColStd_PackedMapOfInteger& GetAllElements() const;
00118
00121 Standard_EXPORT Standard_Boolean GetNormal(const Standard_Integer Id,const Standard_Integer Max,Standard_Real& nx,Standard_Real& ny,Standard_Real& nz) const;
00122
00124 Standard_EXPORT void GetAllGroups(TColStd_PackedMapOfInteger& Ids) const;
00125
00126
00127
00128 Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
00129
00130 protected:
00131
00132
00133
00134
00135
00136
00137 private:
00138
00139
00140
00141
00142
00143 SMESH_Mesh *myMesh;
00144 TColStd_PackedMapOfInteger myNodes;
00145 TColStd_PackedMapOfInteger myElements;
00146 TColStd_PackedMapOfInteger myGroups;
00147 };
00148
00149
00150
00151
00152 #endif