# struct hiro::draw::PointCloudStyle

## Overview

Stylization of the rendered point cloud. More…

    #include <PointCloudRenderer.h>

    struct PointCloudStyle: public hiro::draw::Style {
        // fields

        hiro::shader::Material material;
        bool back_face_culling { false };
        float point_size { 10.0f };
        hiro::draw::ColorSource color_source { hiro::draw::ColorSource::material };
        bool display_normals { false };
        cogs::Color3f normal_color { cogs::color::BLACK };
        float normal_length { 0.1f };

        // methods

        virtual bool ReadFromStream(std::istream& str);
        virtual void WriteToStream(std::ostream& str);
    };

### Inherited Members

    public:
        // fields

        bool visible = true;
        cogs::Transform transform;

        // methods

        virtual bool ReadFromStream(std::istream& str);
        virtual void WriteToStream(std::ostream& str);

    protected:
        // methods

        bool ReadVersion(std::istream& str, const uint32_t expected_version);

## Detailed Documentation

Stylization of the rendered point cloud.

### Fields

    hiro::shader::Material material

Material setting for points.

    bool back_face_culling { false }

When enabled, points with normal vector turned away from the camera are hidden.

    float point_size { 10.0f }

Size of point in screen pixels.

    hiro::draw::ColorSource color_source { hiro::draw::ColorSource::material }

Color source used to colorize points.

    bool display_normals { false }

When enabled, normal vector for every point is rendered.

    cogs::Color3f normal_color { cogs::color::BLACK }

Color of normal vector tips. Used only when normals are displayed.

    float normal_length { 0.1f }

Length of normal vectors. Used only used when normals are displayed.

### Methods

    virtual bool ReadFromStream(std::istream& str)

Imports state from stream.

    virtual void WriteToStream(std::ostream& str)

Exports state to stream.