# Draw
TKXSDRAW
XSDRAWSTLVRML

# XSDRAWSTLVRML_DataSource Class Reference

The sample DataSource for working with STLMesh_Mesh
.

`#include <XSDRAWSTLVRML_DataSource.hxx>`

## Public Member Functions

Standard_EXPORT | XSDRAWSTLVRML_DataSource (const Handle(StlMesh_Mesh)&aMesh)
| Constructor .
Standard_EXPORT Standard_Boolean | GetGeom (const Standard_Integer ID, const Standard_Boolean IsElement, TColStd_Array1OfReal &Coords, Standard_Integer &NbNodes, MeshVS_EntityType &Type) const
| Returns geometry information about node ( if IsElement is False ) or element ( IsElement is True ) by co-ordinates. For element this method must return all its nodes co-ordinates in the strict order: X, Y, Z and with nodes order is the same as in wire bounding the face or link. NbNodes is number of nodes of element. It is recommended to return 1 for node. Type is an element type. .
Standard_EXPORT Standard_Boolean | GetGeomType (const Standard_Integer ID, const Standard_Boolean IsElement, MeshVS_EntityType &Type) const
| This method is similar to GetGeom, but returns only element or node type. This method is provided for a fine performance. .
Standard_EXPORT Standard_Address | GetAddr (const Standard_Integer ID, const Standard_Boolean IsElement) const
| This method returns by number an address of any entity which represents element or node data structure. .
virtual Standard_EXPORT Standard_Boolean | GetNodesByElement (const Standard_Integer ID, TColStd_Array1OfInteger &NodeIDs, Standard_Integer &NbNodes) const
| This method returns information about what node this element consist of. .
Standard_EXPORT const TColStd_PackedMapOfInteger & | GetAllNodes () const
| This method returns map of all nodes the object consist of. .
Standard_EXPORT const TColStd_PackedMapOfInteger & | GetAllElements () const
| This method returns map of all elements the object consist of. .
virtual Standard_EXPORT Standard_Boolean | GetNormal (const Standard_Integer Id, const Standard_Integer Max, Standard_Real &nx, Standard_Real &ny, Standard_Real &nz) const
| This method calculates normal of face, which is using for correct reflection presentation. There is default method, for advance reflection this method can be redefined. .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Attributes

Handle_StlMesh_Mesh | myMesh
TColStd_PackedMapOfInteger | myNodes
TColStd_PackedMapOfInteger | myElements
Handle_TColStd_HArray2OfInteger | myElemNodes
Handle_TColStd_HArray2OfReal | myNodeCoords
Handle_TColStd_HArray2OfReal | myElemNormals

## Constructor & Destructor Documentation

Standard_EXPORT XSDRAWSTLVRML_DataSource::XSDRAWSTLVRML_DataSource | ( | const Handle(StlMesh_Mesh)& | aMesh | ) |

## Member Function Documentation

Standard_EXPORT Standard_Address XSDRAWSTLVRML_DataSource::GetAddr | ( | const Standard_Integer | ID,
|  | const Standard_Boolean | IsElement
| ) | const

Standard_EXPORT const TColStd_PackedMapOfInteger& XSDRAWSTLVRML_DataSource::GetAllElements | ( |  | ) | const

Standard_EXPORT const TColStd_PackedMapOfInteger& XSDRAWSTLVRML_DataSource::GetAllNodes | ( |  | ) | const

Standard_EXPORT Standard_Boolean XSDRAWSTLVRML_DataSource::GetGeom | ( | const Standard_Integer | ID,
|  | const Standard_Boolean | IsElement,
|  | TColStd_Array1OfReal & | Coords,
|  | Standard_Integer & | NbNodes,
|  | MeshVS_EntityType & | Type
| ) | const

Standard_EXPORT Standard_Boolean XSDRAWSTLVRML_DataSource::GetGeomType | ( | const Standard_Integer | ID,
|  | const Standard_Boolean | IsElement,
|  | MeshVS_EntityType & | Type
| ) | const

virtual Standard_EXPORT Standard_Boolean XSDRAWSTLVRML_DataSource::GetNodesByElement | ( | const Standard_Integer | ID,
|  | TColStd_Array1OfInteger & | NodeIDs,
|  | Standard_Integer & | NbNodes
| ) | const`[virtual]`

virtual Standard_EXPORT Standard_Boolean XSDRAWSTLVRML_DataSource::GetNormal | ( | const Standard_Integer | Id,
|  | const Standard_Integer | Max,
|  | Standard_Real & | nx,
|  | Standard_Real & | ny,
|  | Standard_Real & | nz
| ) | const`[virtual]`

Standard_EXPORT const XSDRAWSTLVRML_DataSource::Handle | ( | Standard_Type |  | ) | const

## Field Documentation

TColStd_PackedMapOfInteger XSDRAWSTLVRML_DataSource::myElements `[private]`

Handle_TColStd_HArray2OfInteger XSDRAWSTLVRML_DataSource::myElemNodes `[private]`

Handle_TColStd_HArray2OfReal XSDRAWSTLVRML_DataSource::myElemNormals `[private]`

Handle_StlMesh_Mesh XSDRAWSTLVRML_DataSource::myMesh `[private]`

Handle_TColStd_HArray2OfReal XSDRAWSTLVRML_DataSource::myNodeCoords `[private]`

TColStd_PackedMapOfInteger XSDRAWSTLVRML_DataSource::myNodes `[private]`

The documentation for this class was generated from the following file:

- XSDRAWSTLVRML_DataSource.hxx