miscellaneous/model_template/ormodel_template_model_display.h
#ifndef __ORMODEL_TEMPLATE_MODEL_DISPLAY_H__
#define __ORMODEL_TEMPLATE_MODEL_DISPLAY_H__
#define ORMODELCUSTOMDISPLAY__CLASSNAME ORModelCustomDisplay
#define ORMODELCUSTOMDISPLAY__CLASSSTR "ORModelCustomDisplay"
#define ORMODELCUSTOMDISPLAY__DESCSTR "OR - Sample Custom Display"
class ORModelCustomDisplay : public FBModel
{
public:
virtual bool FBCreate();
virtual void FBDestroy();
virtual void CreateGeometry();
virtual bool HasCustomDisplay() override { return true; }
virtual void CustomModelDisplay( FBCamera* pCamera,
FBModelShadingMode pShadingMode,
FBModelRenderPass pRenderPass,
float pPickingAreaWidth,
float pPickingAreaHeight)
override;
virtual bool CustomModelPicking( int pNbHits, unsigned int *pSelectBuffer, FBCamera* pCamera,
int pMouseX,int pMouseY,
FBMatrix* pGlobalInverseMatrix,
virtual bool PlugStateNotify(
FBConnectionAction pAction,FBPlug* pThis,
void* pData=
NULL,
void* pDataOld=
NULL,
int pDataSize=0)
override;
virtual bool FbxStore(FBFbxObject* pFbxObject,
kFbxObjectStore pStoreWhat);
virtual bool FbxRetrieve(FBFbxObject* pFbxObject,
kFbxObjectStore pStoreWhat);
void SetScale(double pScale) { Scale = pScale; CreateGeometry(); }
private:
FBMesh* mMesh;
int mPickedSubItem;
};
#endif