/usr/include/oce/MeshVS_DataSource.hxx is in liboce-visualization-dev 0.9.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | // This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _MeshVS_DataSource_HeaderFile
#define _MeshVS_DataSource_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_MeshVS_DataSource_HeaderFile
#include <Handle_MeshVS_DataSource.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _MeshVS_EntityType_HeaderFile
#include <MeshVS_EntityType.hxx>
#endif
#ifndef _Handle_MeshVS_HArray1OfSequenceOfInteger_HeaderFile
#include <Handle_MeshVS_HArray1OfSequenceOfInteger.hxx>
#endif
#ifndef _Standard_Address_HeaderFile
#include <Standard_Address.hxx>
#endif
#ifndef _TColStd_PackedMapOfInteger_HeaderFile
#include <TColStd_PackedMapOfInteger.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Handle_TColStd_HArray1OfReal_HeaderFile
#include <Handle_TColStd_HArray1OfReal.hxx>
#endif
#ifndef _Handle_MeshVS_Mesh_HeaderFile
#include <Handle_MeshVS_Mesh.hxx>
#endif
#ifndef _Handle_TColStd_HPackedMapOfInteger_HeaderFile
#include <Handle_TColStd_HPackedMapOfInteger.hxx>
#endif
class TColStd_Array1OfReal;
class MeshVS_HArray1OfSequenceOfInteger;
class TColStd_Array1OfInteger;
class TColStd_HArray1OfReal;
class Bnd_Box;
class MeshVS_Mesh;
class TColStd_HPackedMapOfInteger;
class TColgp_Array1OfPnt2d;
class Bnd_Box2d;
//! The deferred class using for the following tasks: <br>
//! 1) Receiving geometry data about single element of node by its number; <br>
//! 2) Receiving type of element or node by its number; <br>
//! 3) Receiving topological information about links between element and nodes it consist of; <br>
//! 4) Receiving information about what element cover this node; <br>
//! 5) Receiving information about all nodes and elements the object consist of <br>
//! 6) Activation of advanced mesh selection. In the advanced mesh selection mode there is created: <br>
//! - one owner for the whole mesh and for all selection modes <br>
//! - one sensitive entity for the whole mesh and for each selection mode <br>
//! Receiving of IDs of detected entities (nodes and elements) in a viewer is achieved by <br>
//! implementation of a group of methods GetDetectedEntities. <br>
class MeshVS_DataSource : public MMgt_TShared {
public:
//! Returns geometry information about node or element <br>
//! ID is the numerical identificator of node or element <br>
//! IsElement indicates this ID describe node ( if Standard_False ) or element ( if Standard_True ) <br>
//! Coords is an array of co-ordinates of node(s). <br>
//! For node it is only 3 numbers: X, Y, Z in the strict order <br>
//! For element it is 3*n numbers, where n is number of this element vertices <br>
//! The order is strict also: X1, Y1, Z1, X2,...., where Xi, Yi, Zi are co-ordinates of vertices <br>
//! NbNodes is number of nodes. It is recommended this parameter to be set to 1 for node. <br>
//! Type is type of node or element (from enumeration). It is recommended this parameter to be set to <br>
//! MeshVS_ET_Node for node. <br>
Standard_EXPORT virtual Standard_Boolean GetGeom(const Standard_Integer ID,const Standard_Boolean IsElement,TColStd_Array1OfReal& Coords,Standard_Integer& NbNodes,MeshVS_EntityType& Type) const = 0;
//! This method is similar to GetGeom, but returns only element or node type. <br>
Standard_EXPORT virtual Standard_Boolean GetGeomType(const Standard_Integer ID,const Standard_Boolean IsElement,MeshVS_EntityType& Type) const = 0;
//! This method returns topology information about 3D-element <br>
//! Returns false if element with ID isn't 3D or because other troubles <br>
Standard_EXPORT virtual Standard_Boolean Get3DGeom(const Standard_Integer ID,Standard_Integer& NbNodes,Handle(MeshVS_HArray1OfSequenceOfInteger)& Data) const;
//! This method returns pointer which represents element or node data structure. <br>
//! This address will be saved in MeshVS_MeshEntityOwner, so that you can access to data structure fast <br>
//! by the method Owner(). In the redefined method you can return NULL. <br>
//! ID is the numerical identificator of node or element <br>
//! IsElement indicates this ID describe node ( if Standard_False ) or element ( if Standard_True ) <br>
Standard_EXPORT virtual Standard_Address GetAddr(const Standard_Integer ID,const Standard_Boolean IsElement) const = 0;
//! This method returns information about nodes this element consist of. <br>
//! ID is the numerical identificator of element. <br>
//! NodeIDs is the output array of nodes IDs in correct order, <br>
//! the same as coordinates returned by GetGeom(). <br>
//! NbNodes is number of nodes (number of items set in NodeIDs). <br>
//! Returns False if element does not exist <br>
Standard_EXPORT virtual Standard_Boolean GetNodesByElement(const Standard_Integer ID,TColStd_Array1OfInteger& NodeIDs,Standard_Integer& NbNodes) const = 0;
//! This method returns map of all nodes the object consist of. <br>
Standard_EXPORT virtual const TColStd_PackedMapOfInteger& GetAllNodes() const = 0;
//! This method returns map of all elements the object consist of. <br>
Standard_EXPORT virtual const TColStd_PackedMapOfInteger& GetAllElements() const = 0;
//! This method calculates normal of face, which is using for correct reflection presentation. <br>
//! There is default method, for advance reflection this method can be redefined. <br>
//! Id is the numerical identificator of only element! <br>
//! Max is maximal number of nodes an element can consist of <br>
//! nx, ny, nz are values whose represent co-ordinates of normal (will be returned) <br>
//! In the redefined method you can return normal with length more then 1, but in this case <br>
//! the appearance of element will be more bright than usual. For ordinary brightness you must return <br>
//! normal with length 1 <br>
Standard_EXPORT virtual Standard_Boolean GetNormal(const Standard_Integer Id,const Standard_Integer Max,Standard_Real& nx,Standard_Real& ny,Standard_Real& nz) const;
//! This method return normal of node ranknode of face Id, <br>
//! which is using for smooth shading presentation. <br>
//! Returns false if normal isn't defined. <br>
Standard_EXPORT virtual Standard_Boolean GetNodeNormal(const Standard_Integer ranknode,const Standard_Integer ElementId,Standard_Real& nx,Standard_Real& ny,Standard_Real& nz) const;
//! This method puts components of normal vectors at each node of a mesh face (at each face of a mesh volume) <br>
//! into the output array. <br>
//! Returns false if some problem was detected during calculation of normals. <br>
//! Id is an identifier of the mesh element. <br>
//! IsNodal, when true, means that normals at mesh element nodes are needed. If nodal normals <br>
//! are not available, or IsNodal is false, or the mesh element is a volume, then the output array contents <br>
//! depend on the element type: <br>
//! face: a normal calculated by GetNormal() is duplicated for each node of the face; <br>
//! volume: normals to all faces of the volume are computed (not for each node!). <br>
//! MaxNodes is maximal number of nodes an element can consist of. <br>
//! Normals contains the result. <br>
Standard_EXPORT virtual Standard_Boolean GetNormalsByElement(const Standard_Integer Id,const Standard_Boolean IsNodal,const Standard_Integer MaxNodes,Handle(TColStd_HArray1OfReal)& Normals) const;
//! This method returns map of all groups the object contains. <br>
Standard_EXPORT virtual void GetAllGroups(TColStd_PackedMapOfInteger& Ids) const;
//! This method returns map of all group elements. <br>
Standard_EXPORT virtual Standard_Boolean GetGroup(const Standard_Integer Id,MeshVS_EntityType& Type,TColStd_PackedMapOfInteger& Ids) const;
//! This method returns pointer which represents group data structure. <br>
//! This address will be saved in MeshVS_MeshOwner, so that you can access to data structure fast <br>
//! by the method Owner(). In the redefined method you can return NULL. <br>
//! ID is the numerical identificator of group <br>
Standard_EXPORT virtual Standard_Address GetGroupAddr(const Standard_Integer ID) const;
//! Returns True if advanced mesh selection is enabled. <br>
//! Default implementation returns False. <br>
//! It should be redefined to return True for advanced <br>
//! mesh selection activation. <br>
Standard_EXPORT virtual Standard_Boolean IsAdvancedSelectionEnabled() const;
//! Returns the bounding box of the whole mesh. <br>
//! It is used in advanced selection mode to define roughly <br>
//! the sensitive area of the mesh. <br>
//! It can be redefined to get access to a box computed in advance. <br>
Standard_EXPORT virtual Bnd_Box GetBoundingBox() const;
//! Returns maps of entities (nodes and elements) detected <br>
//! by mouse click at the point (X,Y) on the current view plane, <br>
//! with the tolerance aTol. <br>
//! DMin - is out argument should return actual detection tolerance. <br>
//! Returns True if something is detected. <br>
//! It should be redefined if the advanced mesh selection is <br>
//! activated. Default implementation returns False. <br>
Standard_EXPORT virtual Standard_Boolean GetDetectedEntities(const Handle(MeshVS_Mesh)& Prs,const Standard_Real X,const Standard_Real Y,const Standard_Real aTol,Handle(TColStd_HPackedMapOfInteger)& Nodes,Handle(TColStd_HPackedMapOfInteger)& Elements,Standard_Real& DMin) ;
//! Returns maps of entities (nodes and elements) detected <br>
//! by mouse selection with rectangular box (XMin, YMin, XMax, YMax) <br>
//! on the current veiw plane, with the tolerance aTol. <br>
//! Returns True if something is detected. <br>
//! It should be redefined if the advanced mesh selection is <br>
//! activated. Default implementation returns False. <br>
Standard_EXPORT virtual Standard_Boolean GetDetectedEntities(const Handle(MeshVS_Mesh)& Prs,const Standard_Real XMin,const Standard_Real YMin,const Standard_Real XMax,const Standard_Real YMax,const Standard_Real aTol,Handle(TColStd_HPackedMapOfInteger)& Nodes,Handle(TColStd_HPackedMapOfInteger)& Elements) ;
//! Returns maps of entities (nodes and elements) detected <br>
//! by mouse selection with the polyline <Polyline> <br>
//! on the current veiw plane, with the tolerance aTol. <br>
//! Returns True if something is detected. <br>
//! It should be redefined if the advanced mesh selection is <br>
//! activated. Default implementation returns False. <br>
Standard_EXPORT virtual Standard_Boolean GetDetectedEntities(const Handle(MeshVS_Mesh)& Prs,const TColgp_Array1OfPnt2d& Polyline,const Bnd_Box2d& aBox,const Standard_Real aTol,Handle(TColStd_HPackedMapOfInteger)& Nodes,Handle(TColStd_HPackedMapOfInteger)& Elements) ;
//! Filter out the maps of mesh entities so as to keep <br>
//! only the entities that are allowed to be selected <br>
//! according to the current context. <br>
//! Returns True if any of the maps has been changed. <br>
//! It should be redefined if the advanced mesh selection is <br>
//! activated. Default implementation returns False. <br>
Standard_EXPORT virtual Standard_Boolean GetDetectedEntities(const Handle(MeshVS_Mesh)& Prs,Handle(TColStd_HPackedMapOfInteger)& Nodes,Handle(TColStd_HPackedMapOfInteger)& Elements) ;
DEFINE_STANDARD_RTTI(MeshVS_DataSource)
protected:
private:
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|