00001
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #pragma once
00034
00035 #include "K3dCameraWork.h"
00036 #include "K3dRayWork.h"
00037 #include "K3dLineWork.h"
00038 #include "K3dSphereWork.h"
00039 #include "../../MathCore/K3dIntrLinSph.h"
00040 #include "../../MathCore/K3dIntersection.h"
00041 #include "../Builder/K3dVertexBuild.h"
00042
00043 class K3dObjectWork:
00044 public K3dCameraWork,
00045 public K3dRayWork,
00046 public K3dLineWork,
00047 public K3dSphereWork
00048 {
00049 K3dGameData *m_pGameData;
00050 K3dIntersection *m_pIntersection;
00051 K3dVertexBuild *m_pVertexBuild;
00052 public:
00053 K3dObjectWork ( K3dGameData *_pGameData );
00054 ~K3dObjectWork ( void );
00055
00056 int FindObjectId ( const char* _strName, const int _iObjType );
00057 float GetDistance ( const int _iObjId0, const int _iObjId1, const int _iObjType0, const int _iObjType1 );
00058 bool GetIntersection ( const int _iObjId0, const int _iObjId1, const int _iObjType0, const int _iObjType1, K3dVector3 &_rkInrPoint );
00059 bool GetIntersection ( const int _iObjId0, const int _iObjId1, const int _iObjType0, const int _iObjType1 );
00060 void SetColor ( const int _iObjId, const int _iObjType, const char _r,const char _g,const char _b );
00061 void Link ( const int _iObjId0, const int _iObjId1, const int _iObjType0, const int _iObjType1 );
00062 void Hide ( const int _iObjId, const int _iObjType, const bool _bHide );
00063 };
00064