# DataExchange
TKVRML
VrmlData

# VrmlData_ShapeConvert Class Reference

`#include <VrmlData_ShapeConvert.hxx>`

## Public Member Functions

| VrmlData_ShapeConvert (VrmlData_Scene &theScene, const Standard_Real theScale=1.)
Standard_EXPORT void | AddShape (const TopoDS_Shape &theShape, const char *theName=0L)
Standard_EXPORT void | Convert (const Standard_Boolean theExtractFaces, const Standard_Boolean theExtractEdges, const Standard_Real theDeflection=0.01, const Standard_Real theDeflAngle=20.*PI/180.)

## Protected Member Functions

Handle_VrmlData_Geometry | triToIndexedFaceSet (const Handle_Poly_Triangulation &, const TopoDS_Face &, const Handle_VrmlData_Coordinate &)
Handle_VrmlData_Geometry | polToIndexedLineSet (const Handle_Poly_Polygon3D &)
Handle_VrmlData_Appearance | defaultMaterialFace () const
Handle_VrmlData_Appearance | defaultMaterialEdge () const

## Private Attributes

VrmlData_Scene & | myScene
Standard_Real | myScale
NCollection_List< ShapeData > | myShapes

## Data Structures

struct | ShapeData

## Detailed Description

Algorithm converting one shape or a set of shapes to VrmlData_Scene.

## Constructor & Destructor Documentation

VrmlData_ShapeConvert::VrmlData_ShapeConvert | ( | VrmlData_Scene & | theScene,
|  | const Standard_Real | theScale = `1.`
| ) | `[inline]`

Constructor.

Parameters:

  | theScene | Scene receiving all Vrml data.
  | theScale | Scale factor, considering that VRML standard specifies coordinates in meters. So if your data are in mm, you should provide theScale=0.001

## Member Function Documentation

Standard_EXPORT void VrmlData_ShapeConvert::AddShape | ( | const TopoDS_Shape & | theShape,
|  | const char * | theName = `0L`
| ) |

| Add one shape to the internal list, may be called several times with different shapes.

Standard_EXPORT void VrmlData_ShapeConvert::Convert | ( | const Standard_Boolean | theExtractFaces,
|  | const Standard_Boolean | theExtractEdges,
|  | const Standard_Real | theDeflection = `0.01`,
|  | const Standard_Real | theDeflAngle = `20.*PI/180.`
| ) |

Convert all accumulated shapes and store them in myScene. The internal data structures are cleared in the end of convertion.

Parameters:

  | theExtractFaces | If True, converter extracst faces from the shapes.
  | theExtractEdges | If True, converter extracts edges from the shapes.
  | theDeflection | Deflection for tessellation of geometrical lines/surfaces. Existing mesh is used if its deflection is smaller than the one given by this parameter.
  | theDeflAngle | Angular deflection for tessellation of geometrical lines.

Handle_VrmlData_Appearance VrmlData_ShapeConvert::defaultMaterialEdge | ( |  | ) | const`[protected]`

Handle_VrmlData_Appearance VrmlData_ShapeConvert::defaultMaterialFace | ( |  | ) | const`[protected]`

Handle_VrmlData_Geometry VrmlData_ShapeConvert::polToIndexedLineSet | ( | const Handle_Poly_Polygon3D & |  | ) | `[protected]`

Handle_VrmlData_Geometry VrmlData_ShapeConvert::triToIndexedFaceSet | ( | const Handle_Poly_Triangulation & | ,
|  | const TopoDS_Face & | ,
|  | const Handle_VrmlData_Coordinate & |
| ) | `[protected]`

## Field Documentation

Standard_Real VrmlData_ShapeConvert::myScale`[private]`

VrmlData_Scene& VrmlData_ShapeConvert::myScene`[private]`

NCollection_List<ShapeData> VrmlData_ShapeConvert::myShapes`[private]`

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

- VrmlData_ShapeConvert.hxx