24 #include <flw/cmn/IPickable.h> 25 #include <flw/cmn/scene/ICamera.h> 26 #include <flw/flc/renderers/IRenderable.h> 27 #include <flw/cmn/scene/Moveable.h> 28 #include <flw/flf/models/base/TreePtr.h> 35 enum class EEventType;
64 void handleEvent(
const Event& event);
67 glm::mat4 getPhysicsMMC();
70 void setTransformation(glm::mat4 modelMatrix);
73 void attachHandler(std::function<
void(
const Event&)>&& h, EEventType eventType);
75 void detachHandlers();
78 void updateMatrixTree();
80 void updateParentMatrix(glm::mat4 &parent);
82 void updateParentRotation(glm::quat &rotation);
85 void assignColor(
const glm::vec3& color)
override;
87 void unpick()
override;
89 void stepInTime(
float timeSinceLastFrameInSeconds);
91 virtual void onPicked()
override;
93 virtual void onUnpicked()
override;
96 void drawFR(
ICamera &camera)
override;
97 void drawPBRP(
ICamera &camera)
override;
98 void drawDR(
ICamera &camera)
override;
99 void drawDepth(
ICamera &camera)
override;
100 void drawDepthColor(
ICamera &camera, glm::vec3 &position)
override;
101 void drawAOG(
ICamera &camera)
override;
102 void drawAOC(
ICamera &camera)
override;
103 void drawOcclusionBox(
ICamera &camera)
override;
104 void drawPicking(
ICamera &camera)
override;
111 virtual bool isAnimated()
const;
114 virtual void log()
const;
118 glm::mat4 mPhysicsMMC;
120 bool mChildrenPropagateEvent;
122 vec<EventHandler> mEventHandlers;
Base for all renderers.
Definition: IRenderer.h:42
Base for all Scene nodes.
Definition: Entity.h:48
Pickable Interface.
Definition: IPickable.h:33
Event.
Definition: Event.h:154
Encapsulates renderable objects. To be used with IRenderer.
Definition: IRenderable.h:36
Base for every object which has a 3D position.
Definition: Moveable.h:43
Basic tree template class. Enables attaching and detaching nodes.
Definition: TreePtr.h:41
Single draw item structure.
Definition: RenderItem.h:33
Stores camera view parameters.
Definition: ICamera.h:32