reman3/Rayman_X/cpa/tempgrp/OLG/inc/CurObj.hpp

77 lines
2.3 KiB
C++

/*
///////////////////////////////////////////////////////////////////////////////////////////////////
// Description : CurObj.hpp
//
// Definition of the cursor object
//
///////////////////////////////////////////////////////////////////////////////////////////////////
// inherit from : CPA_Object
// CPA_EdMot<ACP_tdxHandleOfLink>
///////////////////////////////////////////////////////////////////////////////////////////////////
// Creation date: 5 mar 1997 Author: J Thénoz
///////////////////////////////////////////////////////////////////////////////////////////////////
// Modification date: Author:
//
//
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
*/
#ifndef __CursorOBJECT_HPP__
#define __CursorOBJECT_HPP__
// #include "itf.h"
//#include "gli.h"
// #include "cpalib.h"
// FBFFBF attention, include interdit !!!, privé, moteur
// #include "geoobj.h"
// fin FBF
class Light_Interface;
class Light;
//----------- engine structure
typedef struct {} tdstCursor;
typedef tdstCursor* ACP_tdxHandleOfCursor;
//-----------
class Cursor : public CPA_Object, public CPA_EdMot<ACP_tdxHandleOfCursor>
{
protected:
MTH3D_tdstVector m_stVertex; // local Vertex of the cursor in the m_poParent axis
GLI_tdxValue m_xDim; // dim of the cursor
CPA_SuperObject* m_poParent; // parent object = physical parent : just for axis to store vertex
public:
// static
static void fn_vInitObject (void);
Cursor (CPA_MainWorld *p_oMainWorld, CPA_ObjectDLLBase *p_oDLL, CPA_ReachableObject *poOwner );
void *GetEngineStruct (void) { return NULL; }
Light_Interface* GetInterface (void);
Light* fn_pGetParentLight (void) { return (Light*)(m_poParent->GetObject()); }
//set
void fn_vSetAbsoluteVertex ( MTH3D_tdstVector* pAbsoluteVertex );
void fn_vSetLocalVertex ( MTH3D_tdstVector* pLocalVertex ) { m_stVertex = *pLocalVertex; }
//get
void fn_vGetAbsoluteVertex ( MTH3D_tdstVector* pAbsoluteVertex );
void fn_vGetLocalVertex ( MTH3D_tdstVector* pLocalVertex ) { *pLocalVertex = m_stVertex; }
// moves
void fn_vStartMove ( MTH3D_tdstVector* pstStartVertex );
void fn_vMove ( MTH3D_tdstVector* pstTranslation );
// draw
void fn_vDraw (void);
};
#endif //__OBJECT_HPP__