/*=========================================================================*/ /* DEVMul3D.hpp : MultiDevice 3D which manage the Device 3D.*/ /* This is a part of the PCA project.*/ /**/ /* Version 1.0*/ /* Creation date 17/07/96*/ /* Revision date*/ /**/ /* (c) Ubi Studios 1996*/ /**/ /* DO NOT MODIFY THAT FILE. IF SOMETHING NEEDS TO BE CHANGE, PLEASE CONTACT*/ /* OLIVIER DIDELOT.*/ /*=========================================================================*/ #ifndef __DEVMUL3D_HPP__ #define __DEVMUL3D_HPP__ #include "DEVMulti.hpp" /*#include "CPACam.hpp"*/ class CPA_ProjectDoc; class CPA_DLLList; class CPA_World; /****************************************/ #ifndef CPA_EXPORT #if defined(CPA_WANTS_IMPORT) #define CPA_EXPORT __declspec(dllimport) #elif defined(CPA_WANTS_EXPORT) #define CPA_EXPORT __declspec(dllexport) #else #define CPA_EXPORT #endif #endif /****************************************/ #define C_DefaultRotateUnit (GLI_tdxValue)0.01 #define C_DefaultTranslateUnit (GLI_tdxValue)0.01 #define C_MaxCameraSlots 10 /*--------------------------------------------------------------------------------*/ class CPA_EXPORT DEV_MultiDevice3D : public DEV_MultiDevice { protected: DEV_MultiDevice3D(); DECLARE_DYNCREATE(DEV_MultiDevice3D) public: DEV_MultiDevice3D(int); virtual ~DEV_MultiDevice3D(); CPA_ProjectDoc *GetDocument(); void Init(void); /* Engine*/ /*----------------------------------------------------------------------------------------------------------------------*/ private: HIE_tdxHandleToSuperObject m_hSuperObjectWorld; /* The World display in the view.*/ GLI_tdxHandleToLight m_hLight; /* Light to display the 3D world.*/ public: GLI_tdxHandleToLight GetEngineLight(); HIE_tdxHandleToSuperObject GetEngineWorld(); void SetEngineWorld(HIE_tdxHandleToSuperObject hObj); /* Editor*/ /*----------------------------------------------------------------------------------------------------------------------*/ #ifdef ACTIVE_EDITOR private: CPA_World *m_p_oWorld; public: CPA_World *GetWorld(); void SetWorld(CPA_World *p_oWorld); GLI_tdxHandleToCamera GetEngineFocusCamera() { return GetFocusDevice()->GetCamera(); } /*----------------------------------------------------------------------------------------------------------------------*/ public: void CreateViewportToolBar(void); void DrawObject(void); void DrawEditorObject(void); void DrawObjectExcept0(void); void RotateObjectX(); void RotateObjectY(); void RotateObjectZ(); void RotateWorldX(); void RotateWorldY(); void RotateWorldZ(); #endif /* ACTIVE_EDITOR*/ protected: /*{{AFX_MSG(DEV_MultiDevice)*/ afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); /*}}AFX_MSG*/ DECLARE_MESSAGE_MAP() }; /*--------------------------------------------------------------------------------*/ inline CPA_ProjectDoc* DEV_MultiDevice3D::GetDocument() { return (CPA_ProjectDoc*) m_pDocument; } #endif /* __DEVMUL3D_HPP__*/