#include "fsC3dScene.h"
#include <fsRenderer/src/renderData/native/fsCNative3dSceneRenderData.h>
#include <fsRenderer/fsIRenderDataFactory.h>
#include <fsRenderer/fsIRenderData.h>
void fsC3dScene::pickDo(const fsPoint& pScreenPos, fsTPickCallback pPickCallback)
{
renderDataGet()->pick(pScreenPos, pPickCallback);
}
void fsC3dScene::transformApplyDo()
{
//renderDataGet()->modelMatrixSet(mPos, mAngle, mScale);
}
void fsC3dScene::update(fsS32 pDeltaMS)<--- Either there is a missing 'override', or the member function 'fsC3dScene::update' can be static.
{
// renderDataGet()->update(pDeltaMS);
}
void fsC3dScene::spriteRemoveDo(fsC3dSprite* const p3dSprite)
{
renderDataGet()->spriteRemove(p3dSprite);
}
void fsC3dScene::spriteAddDo(fsC3dSprite* const p3dSprite)
{
renderDataGet()->spriteAdd(p3dSprite);
}
void fsC3dScene::cameraSetDo(fsC3dCamera* const pCamera)
{
renderDataGet()->cameraSet(pCamera);
}
void fsC3dScene::ligthtAddDo(fsI3dLight* const pLight)
{
renderDataGet()->lightAdd(pLight);
}
void fsC3dScene::ligthtRemoveDo(fsI3dLight* const pLight)
{
renderDataGet()->lightRemove(pLight);
}
void fsC3dScene::matrixApplyDo(const fsAffineMtx2d& pRenderMatrix)
{
renderDataGet()->matrixApply(pRenderMatrix);
}
fsCNative3dSceneRenderData* fsC3dScene::renderDataGet() const
{
return dynamic_cast<fsCNative3dSceneRenderData*>(fsIRenderableQuantum::renderDataGet());
}
std::shared_ptr<fsC3dScene> fsC3dScene::create()
{
return std::shared_ptr<fsC3dScene>(new fsC3dScene());
}
fsC3dScene::fsC3dScene() :
fsI3dScene()
{
renderDataRegister(fsIRenderData::factoryGet()->renderDataCreate("fsC3dScene"));
}