My Project
ContainerObject.h
1 #pragma once
2 #include "BaseObject.h"
3 
4 namespace ParaEngine
5 {
10 {
11 public:
12  CContainerObject(void);
13  virtual ~CContainerObject(void);
14  virtual CBaseObject::_SceneObjectType GetType(){return CBaseObject::ContainerObject;};
15 
16  ATTRIBUTE_DEFINE_CLASS(CContainerObject);
17  ATTRIBUTE_SUPPORT_CREATE_FACTORY(CContainerObject);
18 
20  virtual int InstallFields(CAttributeClass* pClass, bool bOverride);
21 
22 public:
23  virtual void Animate(double dTimeDelta, int nRenderNumber = 0);
24  virtual HRESULT Draw( SceneState * sceneState);
25  virtual int PrepareRender(CBaseCamera* pCamera, SceneState* pSceneState);
26 };
27 }
Desc: present a scene object that is not rendered, but may have a volume.
Definition: ContainerObject.h:9
an attribute class is a collection of attribute fields.
Definition: AttributeClass.h:10
It's used as parameter to Draw method of each scene object.
Definition: SceneState.h:284
different physics engine has different winding order.
Definition: EventBinding.h:32
virtual int PrepareRender(CBaseCamera *pCamera, SceneState *pSceneState)
derived class can override this function to place the object in to the render pipeline.
Definition: ContainerObject.cpp:46
virtual HRESULT Draw(SceneState *sceneState)
only for drawable objects
Definition: ContainerObject.cpp:25
Definition: BaseCamera.h:70
virtual int InstallFields(CAttributeClass *pClass, bool bOverride)
this class should be implemented if one wants to add new attribute.
Definition: ContainerObject.cpp:63
Defines the base class of all scene elements:CBaseObject for Parallel World Engine.
Definition: BaseObject.h:230
virtual void Animate(double dTimeDelta, int nRenderNumber=0)
animate the model by a given delta time.
Definition: ContainerObject.cpp:30