reman3/Rayman_X/cpa/public/ITF/devmul3d.hpp

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__*/