108 lines
3.2 KiB
C++
108 lines
3.2 KiB
C++
/*=========================================================================*/
|
|
/* 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__*/
|