struct CCL::IModel3D
Overview
3D model interface. More…
#include <imodel3d.h> struct IModel3D: public CCL::IClassAllocator { // methods virtual tresult CCL_API addGeometry ( IGeometry3D* geometry, IMaterial3D* material = nullptr ) = 0; virtual int CCL_API getGeometryCount () const = 0; virtual IGeometry3D*CCL_API getGeometryAt (int index) const = 0; virtual tresult CCL_API setGeometryAt (int index, IGeometry3D* geometry) = 0; virtual IMaterial3D*CCL_API getMaterialAt (int index) const = 0; virtual tresult CCL_API setMaterialAt (int index, IMaterial3D* material) = 0; IModel3D IGeometry3D* createGeometry (); IGeometry3D* createBillboard (); ISolidColorMaterial3D* createSolidColorMaterial (); ITextureMaterial3D* createTextureMaterial (); IMaterial3D* getFirstMaterial () const; void setMaterialForGeometries (IMaterial3D* material); };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0; virtual tresult CCL_API createInstance (UIDRef cid, UIDRef iid, void** obj) = 0;
Detailed Documentation
3D model interface.
Models defined in Skin XML can be accessed by name via ITheme::getResource().
Methods
virtual tresult CCL_API addGeometry ( IGeometry3D* geometry, IMaterial3D* material = nullptr ) = 0
Add geometry to model (takes ownership).
virtual int CCL_API getGeometryCount () const = 0
Get number of geometries.
virtual IGeometry3D*CCL_API getGeometryAt (int index) const = 0
Get geometry at given index.
virtual tresult CCL_API setGeometryAt (int index, IGeometry3D* geometry) = 0
Assign a material to the geometry at given index (shared).
virtual IMaterial3D*CCL_API getMaterialAt (int index) const = 0
Get material assigned to geometry at given index.
virtual tresult CCL_API setMaterialAt (int index, IMaterial3D* material) = 0
Assign a material to the geometry at given index (shared).