|
|
|
|
|
#ifndef XJ_COMPOSITE_OSG_VIEW_H
|
|
|
|
|
|
#define XJ_COMPOSITE_OSG_VIEW_H
|
|
|
|
|
|
|
|
|
|
|
|
#include "dllExport.h"
|
|
|
|
|
|
#include "Common.h"
|
|
|
|
|
|
#include "XJObjectManager/XJObject.h"
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
|
|
class XJOSGVIEWEXPORT CXJCompositeOSGView
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CXJCompositeOSGView();
|
|
|
|
|
|
virtual ~CXJCompositeOSGView();
|
|
|
|
|
|
|
|
|
|
|
|
void AddOSGView(int index,void* hwnd);
|
|
|
|
|
|
|
|
|
|
|
|
static void Render(void* ptr);
|
|
|
|
|
|
//static void Render();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int UpdateObjectView(int index,CXJObject* obj, EOSGUpdateType updateType = UPDATE_ALL);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>عǣ<D8B9><C7A3><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>عǺ<D8B9><C7BA>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void ClipPlaneList(int index, CXJObject *pobj, std::vector<CXJPlane*> Planes, bool IsClosed = true);
|
|
|
|
|
|
void StopClipPlane(int index, CXJObject *pobj);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ƽ<EFBFBD>潫<EFBFBD><E6BDAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD>ͬ<EFBFBD><CDAC>ɫ<EFBFBD><C9AB>ʾ
|
|
|
|
|
|
void SplitObjectByClipPlane(int index, CXJObject *obj, vector<CXJPlane*> Planes, int clipIndex);
|
|
|
|
|
|
void StopSplitObject(int index, CXJObject *obj);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1>ִ<EFBFBD><D6B4><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
|
void SetModeulePath(std::string a_exePath) {m_exePath = a_exePath;}
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ͶӰ<CDB6><D3B0>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
void SetProjView(int index,XJViewType viewType);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ͼ<EFBFBD><CDBC>ʾ
|
|
|
|
|
|
void ZoomView(int index);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
void RotateObject(int index, CXJObject* obj, Point3D basePt, Point3D rotateDir, float angle);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>任,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>任<EFBFBD><E4BBBB>ֻ<EFBFBD>任һ<E4BBBB>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>㣬<EFBFBD><E3A3AC>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>任<EFBFBD><E4BBBB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
|
|
|
|
|
|
void TransformObjectOnce(int index, CXJObject* obj, Point3D originPt, Point3D oriVec, Point3D destVec);
|
|
|
|
|
|
|
|
|
|
|
|
void GetObjectMatrix(int index, CXJObject* obj, Matrix4& matrix) const;
|
|
|
|
|
|
|
|
|
|
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>osg<73><67><EFBFBD><EFBFBD>
|
|
|
|
|
|
void DeleteAllOSGObjects(int index);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>Text<78><74> displayPosΪ<73><CEAA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
//0---<2D><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD>ʾ<EFBFBD><CABE> 1--<2D><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD>ʾ<EFBFBD><CABE> 2--<2D><><EFBFBD>½<EFBFBD><C2BD><EFBFBD>ʾ
|
|
|
|
|
|
void setHUDText(int index, wchar_t* str, HUDTextWinPos displayPos = WINDOW_LEFT_TOP_POS, AlignmentType alighment = BASE_LINE_ALIGNMENT);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>text<78><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void setHUDTextProperties(int index, float textSize, COLORREF textColor, std::string& font);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
void* m_CompositeViewer;
|
|
|
|
|
|
void* m_graphicContext;
|
|
|
|
|
|
std::vector<void*> m_osgInternals;
|
|
|
|
|
|
std::string m_exePath;
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|