00001
00011 #ifndef __TVU_WLD2GEOM_H__
00012 #define __TVU_WLD2GEOM_H__
00013
00014 #ifndef __TVU_TYPESDEF_H__
00015 #include "tvu_typesdef.h"
00016 #endif
00017
00018 #ifndef __TVU_VISU3D_APPLICATION_H__
00019 #include "tvu_visu3d.application.h"
00020 #endif
00021 //
00022 #ifdef VSIS
00023
00024
00025 #include "multi_cntx.h"
00026
00027
00029 #define ENAME_CAMERA_USED "camera_used"
00030 #define ENAME_CAMERA_FILENAME "camera_file"
00031
00032
00034 class CTEngineWLD2GEOMV
00035 {
00036 public:
00039 CTEngineWLD2GEOMV(TLPCSTR lpCamFile, TINT wWind = 1024, TINT hWind = 768, TINT bgR = 0, TINT bgG = 0, TINT bgB = 0);
00041 ~CTEngineWLD2GEOMV();
00042 public:
00044 enum
00045 {
00046 DT_CONTEXT = 0x0001,
00047 DT_SCENE = 0x0002,
00048 DT_ALL = 0x0003,
00049 DT_CONTEXT_VSIS = 0x0101
00050 };
00052 enum { IL_CONTEXT = 0, IL_SCENE };
00053 public:
00055 TBOOL ResetEngine(TINT eType = DT_ALL);
00056
00057 TBOOL ConvertContext(struct scene_model *pTp_sm_node);
00058 #ifdef TVU_ADVISOR
00059
00060 TBOOL ConvertContext(TINT CamID);
00061 #endif // TVU_ADVISOR
00062
00063 TBOOL FC_ConvertContext(struct scene_model *pTp_sm_node);
00067 TBOOL ConvertBlobs(void* lpListBlobs, struct scene_model *pTp_sm_node);
00069 TBOOL ConvertIndividuals(void* lpListIndividuals, struct scene_model *pTp_sm_node);
00071 TBOOL ConvertMobiles(AllMobiles& lpListMobiles, struct scene_model *pTp_sm_node);
00073 TBOOL MM_ConvertMobiles(AllMobiles& lpListMobiles, int r, int g, int b);
00074 TBOOL MM_ConvertClassifiedMobiles(AllMobiles& lpListMobiles);
00076 TBOOL ConvertGroup(void* lpGroup, TINT idParentGroup);
00078 TBOOL ConvertGroups(void* lpGroups);
00080 TBOOL FC_ConvertGroup(void* lpGroupTrack, CTRGB ColorGroup);
00082 TBOOL FC_ConvertGroups(void* lpGroups);
00085 TBOOL FC_ConvertGroupsDescriptor(void* lpGroups);
00088 TBOOL FC_ConvertIndividualsDescriptor(void* lpListIndividuals);
00092 TBOOL Display(struct scene_model *pTp_sm_node, TINT dType = DT_ALL);
00095 TBOOL Save(TLPCSTR lpFileName, TINT dType = DT_ALL);
00098 void SaveImageTo(TLPCSTR FileName);
00101 void SetImageSavingFilename(TLPCSTR FileName)
00102 { m_lpFileName = FileName; };
00103 public:
00106 TBOOL LoadCamSetting(TLPCSTR lpCamFile);
00108 TLPSTR CamSettingBlock() { return m_lpCamBlock; };
00110 TBOOL SaveCamSetting(FILE* pFile);
00111 public:
00113 CTList GetListObject(TINT idList) { return m_ListObjects[idList]; };
00114 CTList SetListObject(CTList pList, TINT idList) { DELETE_OBJECT(m_ListObjects[idList]); return m_ListObjects[idList] = pList; };
00115 protected:
00119 CTList m_ListObjects[2];
00121 TLPSTR m_lpCamBlock;
00122 TINT m_SizeBlock;
00124 CTList m_CameraList;
00126 TLPCSTR m_lpFileName;
00127 public:
00128 static CTEngineWLD2GEOMV* m_CurrentEngine;
00129 };
00130 typedef CTEngineWLD2GEOMV* LPCTEngineWLD2GEOMV;
00131
00132
00133 #endif
00134 //
00135 #endif