// GlobalObject.h: interface for the CGlobalObject class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_GLOBALOBJECT_H__9459373A_82E4_4160_BB56_16DFA47BA0BB__INCLUDED_) #define AFX_GLOBALOBJECT_H__9459373A_82E4_4160_BB56_16DFA47BA0BB__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 //#pragma warning( disable : 4786) #include "../../Node/script/vsfunction.h" //#include "CameraTrack/Cameratk.h" //#include "CameraTrack/CameraControl.h" //#include "MapGrid/MapGrid.h" //#include "Tear/ITear.h" //#include "OCCDetection/OCCDetection.h" #include "../../Node/node_Typedef.h" ////////////////////////////////////////////////////////////////////////// // Fei-tian [1/20/2002] // Global Object ////////////////////////////////////////////////////////////////////////// //using ::abs; class VsSystemObject : public VsObjectProxy { enum FUNC {fNon = -1, fOut, fIn}; public: VsSystemObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; class VsMathObject : public VsObjectProxy { enum FUNC { // property fNon = -1, fE, fLN10, fLN2, fPI, fSQRT1_2, fSQRT2, // method fabs, facos, fasin, fatan, fceil, fcos, fexp, ffloor, flog, fmax, fmin, fpow, frandom, fround, fsin, fsqrt, ftan, ffabs }; public: VsMathObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; class VsBrowserObject : public VsObjectProxy { enum FUNC { fgetName, fgetVersion, fgetCurrentSpeed, fgetCurrentFrameRate, fgetWorldURL, freplaceWorld, fcreateVrmlFromString, fcreateVrmlFromURL, faddRoute, fdeleteRoute, floadURL, fsetDescription }; public: VsBrowserObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; class SFVec3f; class SFRotation; //balama /* class VsCameraTrackObject : public VsObjectProxy { enum FUNC { // property fNon = -1, // method fEnable, fDisable, fUpdate, fGetPosition, fGetOrientation }; CameraTrack m_cameraTrack; DMatrix m_cameraTrackResult; SFVec3f m_cameraPosition; SFRotation m_cameraOrientation; public: VsCameraTrackObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; class VsCameraControlObject : public VsObjectProxy { enum FUNC { // property fNon = -1, // method fSetParameter, fInsertCameraPath, fSwitchToPath, fSwitchToMode, fUpdate, fGetPosition, fGetOrientation, fGetMode, fFollowObject }; CameraControl m_cameraControl; double m_cam_transl[4]; double m_cam_orient[4]; SFVec3f m_cameraPosition; SFRotation m_cameraOrientation; char m_mode_str[32]; public: VsCameraControlObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; class VsMapGridObject : public VsObjectProxy { enum FUNC { //property fNon = -1, // method fSetPosition, fSetDirection, fStep, fGetLabel, fGetXGrid, fGetZGrid, fGetDir, fBlock, fUnBlock }; MapGrid m_grid; int m_label; int m_x_grid; int m_z_grid; MapGrid::Direction m_dir; public: VsMapGridObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; */ // CCKAO class VsAnsiStringObject : public VsObjectProxy { enum FUNC { // property fNon = -1, // method fFromInt32, fFromFloat, fAddString, fCheckLength, fCheckLength2, fCheckLength3 }; public: VsAnsiStringObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; //////////////////////////////////////////////////// //HttpFile Object [Last update : 2002/03/22] //KEIN //////////////////////////////////////////////////// /* class VsHttpFileObject : public VsObjectProxy { enum FUNC { // property fNon = -1, // method fConnect, fOpenRequest, fReadString, fCloseRequest, fDisconnect }; std::string SERVERNAME; typedef std::map TearMap; TearMap m_tearmap; TearMap::iterator m_tearIt; int m_tearKey; int port; public: VsHttpFileObject(); ~VsHttpFileObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; // Occlusion Detection by CCKAO, added by 2002/4/23 class VsOCCDetectionObject : public VsObjectProxy { enum FUNC { // property fNon = -1, // method fSetFileWO, fSetCylinderWO, fSetBoxWO, fifOcclusion }; OCCDetection m_occDetection; double objCenter[3], objSize[3], radius, height; double viewPoint[3], targetObj[3]; public: VsOCCDetectionObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; // MouseObject by ChiaLee [2002/10/11] class VsMouseObject : public VsObjectProxy { enum FUNC { // property fNon = -1, // method fGetPosition }; SFVec2f m_position; public: VsMouseObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; class VsBrowseCameraObject : public VsObjectProxy { enum FUNC { fNon = -1, fGetGlobalPosition, fGetGlobalOrientation, fGetFront, fSetFront, fMoveForward, fMoveUp, fMoveRight, }; SFVec3f m_cameraPosition; SFRotation m_cameraOrientation; SFVec3f m_camerafront; public: VsBrowseCameraObject(); virtual VsValue Assign(int member, const VsValue &v); virtual void Evaluate(int member, VsValue& value, VsExprList &args, VsFunctionCall *parent); }; */ #endif // !defined(AFX_GLOBALOBJECT_H__9459373A_82E4_4160_BB56_16DFA47BA0BB__INCLUDED_)