class CCL::ModelFactory3D

Overview

#include <modelfactory3d.h>

class ModelFactory3D
{
public:
    // methods

    static AutoPtr <IMaterial3D> createSolidColorMaterial (ColorRef color);

    static AutoPtr <ITextureMaterial3D> createTextureMaterial (
        IBitmap* bitmap,
        ColorRef backgroundColor = Colors::kTransparentBlack
    );

    static AutoPtr <IModel3D> createModelFromSource (
        const IGeometrySource3D& source,
        IMaterial3D* material = nullptr
    );

    static AutoPtr <IModel3D> createUnitCube (IMaterial3D* material = nullptr);

    static AutoPtr <IModel3D> createGrid (
        uint32 gridWidth,
        uint32 gridHeight,
        float cellWidth,
        float cellHeight,
        IMaterial3D* material = nullptr
    );

    static AutoPtr <IModel3D> createSphere (
        float radius,
        uint32 numberOfParallels,
        uint32 numberOfMeridians,
        IMaterial3D* material = nullptr
    );

    static AutoPtr <IModel3D> createBillboard (IMaterial3D* material = nullptr);
};

Detailed Documentation

Methods

static AutoPtr <IMaterial3D> createSolidColorMaterial (ColorRef color)

Create solid material with given color.

static AutoPtr <ITextureMaterial3D> createTextureMaterial (
    IBitmap* bitmap,
    ColorRef backgroundColor = Colors::kTransparentBlack
)

Create texture material using a Bitmap and an optional background color.

static AutoPtr <IModel3D> createModelFromSource (
    const IGeometrySource3D& source,
    IMaterial3D* material = nullptr
)

Create 3D model with data provided by geometry source.

static AutoPtr <IModel3D> createUnitCube (IMaterial3D* material = nullptr)

Create cube model.

static AutoPtr <IModel3D> createGrid (
    uint32 gridWidth,
    uint32 gridHeight,
    float cellWidth,
    float cellHeight,
    IMaterial3D* material = nullptr
)

Create grid model.

static AutoPtr <IModel3D> createSphere (
    float radius,
    uint32 numberOfParallels,
    uint32 numberOfMeridians,
    IMaterial3D* material = nullptr
)

Create sphere model.

static AutoPtr <IModel3D> createBillboard (IMaterial3D* material = nullptr)

Create billboard (sprite).