Lightmetrica  0.0.1.50dbee3 (yosakoi)
 All Classes Functions Variables Typedefs Enumerations Enumerator
Public Member Functions | List of all members
Component Class Referenceabstract

#include <component.h>

Public Member Functions

virtual std::string ComponentInterfaceTypeName () const =0
 
virtual std::string ComponentImplTypeName () const =0
 
- Public Member Functions inherited from SIMDAlignedType
void * operator new (std::size_t size) throw (std::bad_alloc)
 
void operator delete (void *p)
 

Detailed Description

Component. The base class for component classes. Component system of lightmetrica renderer enable the implementer to reduce unnecessary headers and factory classes. The design of the system is inspired by the thread: http://gamedev.stackexchange.com/questions/17746/entity-component-systems-in-c-how-do-i-discover-types-and-construct-component

Inherited classes are managed by intrusive reference counter in order to provide consistent memory management. All memory allocation is done in the shared object / dynamic library side.

Inheritance diagram for Component:
SIMDAlignedType Asset Assets BPTMISWeight Config EmitterShape Experiment PhotonDensityEstimationKernel PhotonMap Primitives PSSMLTPathSampler Random Renderer RenderProcessScheduler Sampler Scene StubComponentInterface

Member Function Documentation

virtual std::string Component::ComponentImplTypeName ( ) const
pure virtual

Get component implementation type. This function is automatically implemented with LM_COMPONENT_IMPL_DEF macro.

Returns
Component implementation type name.
See also
LM_COMPONENT_IMPL_DEF.
virtual std::string Component::ComponentInterfaceTypeName ( ) const
pure virtual

Get component interface type. This function is automatically implemented with LM_COMPONENT_INTERFACE_DEF macro.

Returns
Component interface type name.
See also
LM_COMPONENT_INTERFACE_DEF.

The documentation for this class was generated from the following file: