# namespace hiro::draw

## Overview

Extensions for object visualization. Implements a higher level of OpenGL rendering. More…

    namespace draw {

    // typedefs

    typedef std::shared_ptr<hiro::draw::Style> PStyle;
    typedef std::shared_ptr<hiro::draw::Renderer> PRenderer;
    typedef std::shared_ptr<BillboardStyle> PBillboardStyle;
    typedef std::shared_ptr<BillboardRenderer> PBillboardRenderer;
    typedef std::shared_ptr<CircleStyle> PCircleStyle;
    typedef std::shared_ptr<CircleRenderer> PCircleRenderer;
    typedef std::shared_ptr<hiro::draw::FrustumStyle> PFrustumStyle;
    typedef std::shared_ptr<hiro::draw::FrustumRenderer> PFrustumRenderer;
    typedef std::shared_ptr<hiro::draw::GeometryStyle> PGeometryStyle;
    typedef std::shared_ptr<hiro::draw::GeometryRenderer> PGeometryRenderer;
    typedef std::shared_ptr<hiro::draw::GraphStyle> PGraphStyle;
    typedef std::shared_ptr<hiro::draw::GraphRenderer> PGraphRenderer;
    typedef std::shared_ptr<ImageStyle> PImageStyle;
    typedef std::shared_ptr<ImageRenderer> PImageRenderer;
    typedef std::shared_ptr<hiro::draw::LineFieldStyle> PLineFieldStyle;
    typedef std::shared_ptr<hiro::draw::LineFieldRenderer> PLineFieldRenderer;
    typedef hiro::draw::GeometryStyle MeshStyle;
    typedef std::shared_ptr<hiro::draw::MeshStyle> PMeshStyle;
    typedef std::shared_ptr<hiro::draw::MeshRenderer> PMeshRenderer;
    typedef std::shared_ptr<hiro::draw::PointCloudStyle> PPointCloudStyle;
    typedef std::shared_ptr<hiro::draw::PointCloudRenderer> PPointCloudRenderer;
    typedef ImageStyle RasterStyle;
    typedef std::shared_ptr<hiro::draw::RasterStyle> PRasterStyle;
    typedef std::shared_ptr<hiro::draw::RasterRenderer> PRasterRenderer;
    typedef std::shared_ptr<hiro::draw::SkeletonStyle> PSkeletonStyle;
    typedef std::shared_ptr<hiro::draw::SkeletonRenderer> PSkeletonRenderer;
    typedef hiro::draw::MeshStyle SkinnedMeshStyle;
    typedef std::shared_ptr<hiro::draw::SkinnedMeshStyle> PSkinnedMeshStyle;
    typedef std::shared_ptr<hiro::draw::SkinnedMeshRenderer> PSkinnedMeshRenderer;
    typedef std::shared_ptr<hiro::draw::Scene> PScene;

    // enums

    enum AntiAliasing;
    enum CameraMode;
    enum ColorSource;
    enum GeometryName;
    enum GroundGrid;
    enum PrimitiveName;
    enum TextAlignment;

    // structs

    struct BillboardStyle;
    struct FacesStyle;
    struct FrustumStyle;
    struct Geometry;
    struct GeometryStyle;
    struct GraphStyle;
    struct ImageStyle;
    struct LineFieldStyle;
    struct NormalsStyle;
    struct PointCloudStyle;
    struct PointsStyle;
    struct ProjectionParams;
    struct SkeletonStyle;
    struct Style;

    // classes

    class BillboardRenderer;
    class CircleRenderer;
    class CircleStyle;
    class ElementRenderer;
    class FrustumRenderer;
    class GeometryRenderer;
    class GraphRenderer;
    class ImageRenderer;
    class LineFieldRenderer;
    class MeshRenderer;
    class PointCloudRenderer;
    class PrimitiveDatabase;
    class RasterRenderer;
    class RenderSystem;
    class Renderer;
    class Scene;
    class SkeletonRenderer;
    class SkinnedMeshRenderer;
    class TextPrinter;
    class TextRenderer;
    class VisualCamera;
    class VisualCameraController;

    // global variables

    const uint8_t DEFAULT_AXIS_OVERLAY_LAYER = 128;
    const uint8_t DEFAULT_GROUND_OVERLAY_LAYER = 0;

    // global functions

    HIRO_DRAW_API std::string ToString(hiro::draw::GeometryName geom);
    HIRO_DRAW_API std::string ToString(hiro::draw::PrimitiveName prim);

    } // namespace draw

## Detailed Documentation

Extensions for object visualization. Implements a higher level of OpenGL rendering.

### Typedefs

    typedef std::shared_ptr<BillboardStyle> PBillboardStyle

Shared pointer to an object of the type BillboardStyle.

    typedef std::shared_ptr<BillboardRenderer> PBillboardRenderer

Shared pointer to an object of the type BillboardRenderer.

    typedef std::shared_ptr<CircleStyle> PCircleStyle

Shared pointer to an object of the type CircleStyle.

    typedef std::shared_ptr<CircleRenderer> PCircleRenderer

Shared pointer to an object of the type CircleRenderer.

    typedef std::shared_ptr<hiro::draw::FrustumStyle> PFrustumStyle

Shared pointer to an object of the type FrustumStyle.

    typedef std::shared_ptr<hiro::draw::FrustumRenderer> PFrustumRenderer

Shared pointer to an object of the type FrustumRenderer.

    typedef std::shared_ptr<hiro::draw::GeometryStyle> PGeometryStyle

Shared pointer to an object of the type GeometryStyle.

    typedef std::shared_ptr<hiro::draw::GeometryRenderer> PGeometryRenderer

Shared pointer to an object of the type GeometryRenderer.

    typedef std::shared_ptr<hiro::draw::GraphStyle> PGraphStyle

Shared pointer to an object of the type GraphStyle.

    typedef std::shared_ptr<hiro::draw::GraphRenderer> PGraphRenderer

Shared pointer to an object of the type GraphRenderer.

    typedef std::shared_ptr<ImageStyle> PImageStyle

Shared pointer to an object of the type ImageStyle.

    typedef std::shared_ptr<ImageRenderer> PImageRenderer

Shared pointer to an object of the type ImageRenderer.

    typedef std::shared_ptr<hiro::draw::LineFieldStyle> PLineFieldStyle

Shared pointer to an object of the type LineFieldStyle.

    typedef std::shared_ptr<hiro::draw::LineFieldRenderer> PLineFieldRenderer

Shared pointer to an object of the type LineFieldRenderer.

    typedef hiro::draw::GeometryStyle MeshStyle

Stylization of the rendered mesh.

    typedef std::shared_ptr<hiro::draw::MeshStyle> PMeshStyle

Shared pointer to an object of the type MeshStyle.

    typedef std::shared_ptr<hiro::draw::MeshRenderer> PMeshRenderer

Shared pointer to an object of the type MeshRenderer.

    typedef std::shared_ptr<hiro::draw::PointCloudStyle> PPointCloudStyle

Shared pointer to an object of the type PointCloudStyle.

    typedef std::shared_ptr<hiro::draw::PointCloudRenderer> PPointCloudRenderer

Shared pointer to an object of the type PointCloudRenderer.

    typedef ImageStyle RasterStyle

Structure specifying how the raster should be rendered.

    typedef std::shared_ptr<hiro::draw::RasterStyle> PRasterStyle

Shared pointer to an object of the type RasterStyle.

    typedef std::shared_ptr<hiro::draw::RasterRenderer> PRasterRenderer

Shared pointer to an object of the type RasterRenderer.

    typedef std::shared_ptr<hiro::draw::SkeletonStyle> PSkeletonStyle

Shared pointer to an object of the type SkeletonStyle.

    typedef std::shared_ptr<hiro::draw::SkeletonRenderer> PSkeletonRenderer

Shared pointer to an object of the type SkeletonRenderer.

### Global Functions

    HIRO_DRAW_API std::string ToString(hiro::draw::GeometryName geom)

Converts hiro::draw::GeometryName type to the text reprersentation.

    HIRO_DRAW_API std::string ToString(hiro::draw::PrimitiveName prim)

Converts hiro::draw::PrimitiveName type to text reprersentation.