|
Infinity Engine v0.6.20
C++ API Documentation
|
Top-level scene object combining a world transform with renderable content. More...
#include <RenderObject.hpp>
Public Member Functions | |
| RenderObject () | |
| Default constructor. | |
| virtual | ~RenderObject () |
| Destructor. | |
| std::unique_ptr< Core::Base > | clone () const override |
| const Infinity::Types::TypeID & | typeId () const override |
| Gets the TypeID for RenderObject. | |
Public Member Functions inherited from Infinity::Types::Core::Data | |
| Data () | |
| Data (const Data &other) | |
| Data (Data &&other) | |
| Data & | operator= (const Data &other) |
| Data & | operator= (Data &&other) |
| virtual | ~Data () |
| Virtual destructor. | |
| bool | hasProperty (const std::string &key) const |
| template<typename T > | |
| void | setProperty (const std::string &key, T &&value) |
| Sets a typed property value. | |
| template<typename T > | |
| void | setProperty (const std::string &key, const T &value) |
| Sets a typed property value. | |
| void | setProperty (const std::string &key, PropertyValue &&value) |
| Sets a typed property value. | |
| const PropertyValue & | getProperty (const std::string &key) const |
| Gets a property value without type checking. | |
| template<typename T > | |
| const T & | getProperty (const std::string &key) const |
| Gets a typed property value. | |
| void | removeProperty (const std::string &key) |
Public Member Functions inherited from Infinity::Types::Core::Base | |
| virtual | ~Base () |
| Virtual destructor. | |
| virtual std::istream & | legibleDataRead (std::istream &in) override |
| Deserializes the object from a single-line text representation. | |
| virtual std::ostream & | legibleDataWrite (std::ostream &out) const override |
| Serializes the object to a single-line text representation. | |
Public Attributes | |
| Spatial::Transform | transform |
| World-space transform for this object. | |
| Renderable | renderable |
| Renderable content (geometry, materials, instances). | |
Public Attributes inherited from Infinity::Types::Core::Data | |
| std::unordered_map< std::string, PropertyValue > | properties |
| Property storage for arbitrary metadata. | |
Top-level scene object combining a world transform with renderable content.
RenderObject represents a complete object in the scene hierarchy, combining a world-space Transform with a Renderable (geometry, materials, and optional instances). This is the highest-level rendering primitive in the Infinity Engine, representing objects as they exist in the scene with both their spatial properties and visual representation.
The distinction between RenderObject and Renderable:
This two-level transform hierarchy enables:
Common use cases:
Example usage:
| Infinity::Types::Rendering::RenderObject::RenderObject | ( | ) |
Default constructor.
Creates an empty render object with identity transform and empty renderable.
|
virtual |
Destructor.
|
overridevirtual |
Reimplemented from Infinity::Types::Core::Data.
|
overridevirtual |
Gets the TypeID for RenderObject.
Reimplemented from Infinity::Types::Core::Data.
| Renderable Infinity::Types::Rendering::RenderObject::renderable |
Renderable content (geometry, materials, instances).
Contains the mesh, materials, and optional instance transforms that define what and how this object renders. The renderable's instances are positioned relative to this RenderObject's transform.
| Spatial::Transform Infinity::Types::Rendering::RenderObject::transform |
World-space transform for this object.
Defines the position, rotation, and scale of this object in world space. This transform is applied to the entire renderable, including all its instances.
If the renderable has instances, their transforms are relative to this transform, creating a two-level hierarchy: