diff --git a/dtool/Config.pp b/dtool/Config.pp index cd60a10e0a..7ae99b6373 100644 --- a/dtool/Config.pp +++ b/dtool/Config.pp @@ -185,7 +185,8 @@ // Is VRPN installed, and where? #define VRPN_IPATH #define VRPN_LPATH -#defer HAVE_VRPN $[isdir $[VRPN_IPATH]] +#define VRPN_LIBS +#defer HAVE_VRPN $[libtest $[VRPN_LPATH],$[VRPN_LIBS]] // Is ZLIB installed, and where? #define ZLIB_IPATH diff --git a/dtool/Package.pp b/dtool/Package.pp index 9adf1ee310..f3a6ca1b90 100644 --- a/dtool/Package.pp +++ b/dtool/Package.pp @@ -69,22 +69,97 @@ // Now evaluate all of our deferred variable definitions from // Config.pp. +#set PYTHON_IPATH $[PYTHON_IPATH] +#set PYTHON_LPATH $[PYTHON_LPATH] #set HAVE_PYTHON $[HAVE_PYTHON] + +#set NSPR_IPATH $[NSPR_IPATH] +#set NSPR_LPATH $[NSPR_LPATH] +#set NSPR_LIBS $[NSPR_LIBS] #set HAVE_NSPR $[HAVE_NSPR] + +#set CRYPTO_IPATH $[CRYPTO_IPATH] +#set CRYPTO_LPATH $[CRYPTO_LPATH] +#set CRYPTO_LIBS $[CRYPTO_LIBS] +#set HAVE_CRYPTO $[HAVE_CRYPTO] + +#set JPEG_IPATH $[JPEG_IPATH] +#set JPEG_LPATH $[JPEG_LPATH] +#set JPEG_LIBS $[JPEG_LIBS] +#set HAVE_JPEG $[HAVE_JPEG] + +#set TIFF_IPATH $[TIFF_IPATH] +#set TIFF_LPATH $[TIFF_LPATH] +#set TIFF_LIBS $[TIFF_LIBS] +#set HAVE_TIFF $[HAVE_TIFF] + +#set FFTW_IPATH $[FFTW_IPATH] +#set FFTW_LPATH $[FFTW_LPATH] +#set FFTW_LIBS $[FFTW_LIBS] +#set HAVE_FFTW $[HAVE_FFTW] + +#set VRPN_IPATH $[VRPN_IPATH] +#set VRPN_LPATH $[VRPN_LPATH] +#set VRPN_LIBS $[VRPN_LIBS] #set HAVE_VRPN $[HAVE_VRPN] + +#set ZLIB_IPATH $[ZLIB_IPATH] +#set ZLIB_LPATH $[ZLIB_LPATH] +#set ZLIB_LIBS $[ZLIB_LIBS] #set HAVE_ZLIB $[HAVE_ZLIB] + +#set SOXST_IPATH $[SOXST_IPATH] +#set SOXST_LPATH $[SOXST_LPATH] +#set SOXST_LIBS $[SOXST_LIBS] #set HAVE_SOXST $[HAVE_SOXST] + +#set GL_IPATH $[GL_IPATH] +#set GL_LPATH $[GL_LPATH] +#set GL_LIBS $[GL_LIBS] #set HAVE_GL $[HAVE_GL] + +#set GLX_IPATH $[GLX_IPATH] +#set GLX_LPATH $[GLX_LPATH] #set HAVE_GLX $[HAVE_GLX] + +#set GLUT_IPATH $[GLUT_IPATH] +#set GLUT_LPATH $[GLUT_LPATH] +#set GLUT_LIBS $[GLUT_LIBS] #set HAVE_GLUT $[HAVE_GLUT] + #set HAVE_WGL $[HAVE_WGL] + #set HAVE_SGIGL $[HAVE_SGIGL] + +#set DX_IPATH $[DX_IPATH] +#set DX_LPATH $[DX_LPATH] +#set DX_LIBS $[DX_LIBS] #set HAVE_DX $[HAVE_DX] + #set HAVE_RIB $[HAVE_RIB] + +#set MIKMOD_CONFIG $[MIKMOD_CONFIG] #set HAVE_MIKMOD $[HAVE_MIKMOD] + +#set IPC_IPATH $[IPC_IPATH] +#set IPC_LPATH $[IPC_LPATH] +#set IPC_LIBS $[IPC_LIBS] +#set HAVE_IPC $[HAVE_IPC] + +#set NET_IPATH $[NET_IPATH] +#set NET_LPATH $[NET_LPATH] +#set NET_LIBS $[NET_LIBS] #set HAVE_NET $[HAVE_NET] + +#set AUDIO_IPATH $[AUDIO_IPATH] +#set AUDIO_LPATH $[AUDIO_LPATH] +#set AUDIO_LIBS $[AUDIO_LIBS] #set HAVE_AUDIO $[HAVE_AUDIO] + +#set GTKMM_CONFIG $[GTKMM_CONFIG] #set HAVE_GTKMM $[HAVE_GTKMM] + +#set MAYA_LOCATION $[MAYA_LOCATION] #set HAVE_MAYA $[HAVE_MAYA] diff --git a/panda/metalibs/panda/Sources.pp b/panda/metalibs/panda/Sources.pp index 1e3f74b174..0a1d8ee920 100644 --- a/panda/metalibs/panda/Sources.pp +++ b/panda/metalibs/panda/Sources.pp @@ -9,7 +9,7 @@ #define USE_NET yes #define COMPONENT_LIBS \ - pstatclient grutil chan chancfg \ + pvrpn pstatclient grutil chan chancfg \ char chat collide cull device \ dgraph display gobj graph gsgbase \ gsgmisc light linmath mathutil net \ diff --git a/panda/src/device/adinputNode.h b/panda/src/device/adinputNode.h index 3a3a6d0c37..e02758b8d5 100644 --- a/panda/src/device/adinputNode.h +++ b/panda/src/device/adinputNode.h @@ -26,9 +26,10 @@ // and sends it down the DataGraph //////////////////////////////////////////////////////////////////// class EXPCL_PANDA ADInputNode : public DataNode { -public: +PUBLISHED: ADInputNode(PT(ClientBase) client, const string &adinput); +public: virtual void transmit_data(NodeAttributes &data); public: diff --git a/panda/src/device/clientBase.h b/panda/src/device/clientBase.h index 15ae8b90f0..4f923800c3 100644 --- a/panda/src/device/clientBase.h +++ b/panda/src/device/clientBase.h @@ -27,7 +27,7 @@ #include class EXPCL_PANDA ClientBase : public TypedReferenceCount { -public: +PUBLISHED: ClientBase(const string &server); ~ClientBase(); void fork_asynchronous_thread(void); @@ -39,6 +39,7 @@ public: virtual bool add_remote_button(const string &button) = 0; virtual bool add_remote_dial(const string &dial) = 0; +public: //GET FUNCTIONS virtual const TrackerData &get_tracker_data(const string &tracker, int sensor); virtual const AnalogData &get_analog_data(const string &analog); diff --git a/panda/src/device/trackerNode.h b/panda/src/device/trackerNode.h index 7a0a178c53..11922ff111 100644 --- a/panda/src/device/trackerNode.h +++ b/panda/src/device/trackerNode.h @@ -28,10 +28,11 @@ // down the DataGraph //////////////////////////////////////////////////////////////////// class EXPCL_PANDA TrackerNode : public DataNode { -public: +PUBLISHED: TrackerNode(PT(ClientBase) client, const string &tracker, int sensor); +public: virtual void transmit_data(NodeAttributes &data); public: diff --git a/panda/src/vrpn/Sources.pp b/panda/src/vrpn/Sources.pp index f982d82737..264630cb17 100644 --- a/panda/src/vrpn/Sources.pp +++ b/panda/src/vrpn/Sources.pp @@ -4,9 +4,10 @@ dtoolutil:c dtoolbase:c dtool:m #begin lib_target - #define TARGET pandavrpn + #define TARGET pvrpn #define LOCAL_LIBS \ - dgraph + device dgraph + #define USE_VRPN yes #define SOURCES \ config_vrpn.cxx config_vrpn.h vrpnClient.I vrpnClient.cxx \ @@ -15,4 +16,6 @@ #define INSTALL_HEADERS \ config_vrpn.h vrpnClient.I vrpnClient.h + #define IGATESCAN all + #end lib_target diff --git a/panda/src/vrpn/vrpnClient.cxx b/panda/src/vrpn/vrpnClient.cxx index 399c5b8490..84d5a56751 100644 --- a/panda/src/vrpn/vrpnClient.cxx +++ b/panda/src/vrpn/vrpnClient.cxx @@ -44,6 +44,8 @@ add_remote_tracker(const string &tracker, int sensor) { _vrpn_trackers[tracker] = vrpn_tracker; _trackers.push_back(tracker); _sensors[tracker].push_back(sensor); + + return true; } //////////////////////////////////////////////////////////////////// @@ -71,6 +73,8 @@ add_remote_analog(const string &analog) { _vrpn_analogs[analog] = vrpn_analog; _analogs.push_back(analog); + + return true; } //////////////////////////////////////////////////////////////////// @@ -98,6 +102,8 @@ add_remote_button(const string &button) { _vrpn_buttons[button] = vrpn_button; _buttons.push_back(button); + + return true; } //////////////////////////////////////////////////////////////////// @@ -125,6 +131,8 @@ add_remote_dial(const string &dial) { _vrpn_dials[dial] = vrpn_dial; _dials.push_back(dial); + + return true; } //////////////////////////////////////////////////////////////////// diff --git a/panda/src/vrpn/vrpnClient.h b/panda/src/vrpn/vrpnClient.h index a511a44165..c56d85a39b 100644 --- a/panda/src/vrpn/vrpnClient.h +++ b/panda/src/vrpn/vrpnClient.h @@ -9,6 +9,12 @@ #include #include +#if defined(WIN32_VC) && defined(CPPPARSER) + // For correct interrogate parsing of UNC's vrpn library. + #define _WIN32 + #define SOCKET int +#endif + #include #include #include @@ -16,9 +22,10 @@ #include class EXPCL_PANDA VrpnClient : public ClientBase { -public: +PUBLISHED: INLINE VrpnClient(const string &server); +public: //ADD FUNCTIONS virtual bool add_remote_tracker(const string &tracker, int sensor); virtual bool add_remote_analog(const string &analog);