17#define MAX_MATERIAL_NAME_LENGTH 128
18#define MAX_NUMBER_SOUNDS 1024
19#define MAX_NUMBER_MATERIALS 64
20#define MAX_NUMBER_POLYGONS 2048
21#define MAX_FILENAME_LENGTH 2048
68typedef struct _vrpn_ListenerDef {
73typedef struct _vrpn_MaterialDef {
81typedef struct _vrpn_QuadDef {
89typedef struct _vrpn_TriDef {
166 const vrpn_int32 repeat,
char *buf);
187 const vrpn_float64 max_back,
188 const vrpn_float64 min_front,
189 const vrpn_float64 max_front,
192 vrpn_float64 *max_back,
193 vrpn_float64 *min_front,
196 const vrpn_float64 cone_outer_angle,
197 const vrpn_float64 cone_gain,
200 vrpn_float64 *cone_inner_angle,
201 vrpn_float64 *cone_outer_angle,
206 vrpn_float64 *doplerfactor,
239 const vrpn_int32 tag,
char *buf);
241 vrpn_float64 (*vertices)[4][3],
244 const vrpn_int32 tag,
char *buf);
245 vrpn_int32
decodeSetTriVert(
const char *buf, vrpn_float64 (*vertices)[3][3],
248 const vrpn_int32 tag,
char *buf);
249 vrpn_int32
decodeSetPolyOF(
const char *buf, vrpn_float64 *openingfactor,
254 vrpn_int32 *tag,
const int payload);
277 vrpn_float64 orientation[4]);
279 const vrpn_float64 velocity[4]);
281 const vrpn_float64 max_front_dist,
282 const vrpn_float64 min_front_dist,
283 const vrpn_float64 max_back_dist,
284 const vrpn_float64 min_back_dist);
286 const vrpn_float64 inner_angle,
287 const vrpn_float64 outer_angle,
288 const vrpn_float64 gain);
295 const vrpn_float64 orientation[4]);
310 const vrpn_float64 transmittance_gain);
312 const vrpn_float64 transmittance_hf);
314 const vrpn_float64 reflectance_gain);
316 const vrpn_float64 reflectance_hf);
318 vrpn_int32
setPolyOF(
const int id,
const vrpn_float64 OF);
319 vrpn_int32
setQuadVertices(
const int id,
const vrpn_float64 vertices[4][3]);
322 vrpn_int32
setTriVertices(
const int id,
const vrpn_float64 vertices[3][3]);
327 vrpn_uint32 level,
struct timeval msg_time);
345#ifndef VRPN_CLIENT_ONLY
369 vrpn_float64 doplerfactor) = 0;
379 const vrpn_int32
id) = 0;
381 const vrpn_int32
id) = 0;
382 virtual void setPolyOF(vrpn_float64 OF, vrpn_int32 tag) = 0;
virtual void mainloop()=0
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
virtual int register_types(void)=0
Register the types of messages this device sends/receives. Return 0 on success, -1 on fail.
vrpn_BaseClass(const char *name, vrpn_Connection *c=NULL)
Names the device and assigns or opens connection, calls registration methods.
Generic connection class not specific to the transport mechanism.
vrpn_int32 setSoundDopScale(const vrpn_SoundID id, vrpn_float64 dopfactor)
vrpn_int32 LoadModel_local(const char *filename)
vrpn_int32 setSoundPitch(const vrpn_SoundID id, vrpn_float64 pitch)
vrpn_int32 setMaterialReflHF(const int id, const vrpn_float64 reflectance_hf)
vrpn_int32 LoadPolyTri(const vrpn_TriDef tri)
vrpn_int32 playSound(const vrpn_SoundID id, vrpn_int32 repeat)
vrpn_int32 setSoundVelocity(const vrpn_SoundID id, const vrpn_float64 velocity[4])
vrpn_int32 setPolyOF(const int id, const vrpn_float64 OF)
vrpn_int32 setSoundPose(const vrpn_SoundID id, vrpn_float64 position[3], vrpn_float64 orientation[4])
vrpn_int32 setSoundEqValue(const vrpn_SoundID id, vrpn_float64 eq_value)
vrpn_int32 setTriVertices(const int id, const vrpn_float64 vertices[3][3])
vrpn_int32 setSoundConeInfo(const vrpn_SoundID id, const vrpn_float64 inner_angle, const vrpn_float64 outer_angle, const vrpn_float64 gain)
vrpn_int32 setMaterialTransHF(const int id, const vrpn_float64 transmittance_hf)
vrpn_int32 setSoundVolume(const vrpn_SoundID id, const vrpn_float64 volume)
vrpn_int32 setQuadVertices(const int id, const vrpn_float64 vertices[4][3])
vrpn_int32 LoadPolyQuad(const vrpn_QuadDef quad)
vrpn_int32 setPolyMaterialName(const int id, const char *materialname)
vrpn_int32 setListenerVelocity(const vrpn_float64 velocity[4])
vrpn_int32 setListenerPose(const vrpn_float64 position[3], const vrpn_float64 orientation[4])
vrpn_int32 stopSound(const vrpn_SoundID id)
virtual void receiveTextMessage(const char *message, vrpn_uint32 type, vrpn_uint32 level, struct timeval msg_time)
vrpn_Sound_Client(const char *name, vrpn_Connection *c)
vrpn_int32 setSoundDistances(const vrpn_SoundID id, const vrpn_float64 max_front_dist, const vrpn_float64 min_front_dist, const vrpn_float64 max_back_dist, const vrpn_float64 min_back_dist)
vrpn_int32 setMaterialName(const int id, const char *materialname)
vrpn_int32 setMaterialTransGain(const int id, const vrpn_float64 transmittance_gain)
vrpn_int32 LoadModel_remote(const char *data)
vrpn_int32 unloadSound(const vrpn_SoundID id)
vrpn_SoundID loadSound(const char *sound, const vrpn_SoundID id, const vrpn_SoundDef soundDef)
vrpn_int32 LoadMaterial(const vrpn_int32 id, const vrpn_MaterialDef material)
vrpn_int32 setMaterialReflGain(const int id, const vrpn_float64 reflectance_gain)
vrpn_Sound_Server(const char *name, vrpn_Connection *c)
virtual void setSoundPitch(vrpn_SoundID id, vrpn_float64 pitch)=0
virtual void loadPolyTri(vrpn_TriDef *tri)=0
virtual void loadModelLocal(const char *filename)=0
virtual void loadModelRemote()=0
virtual void setSoundDoplerFactor(vrpn_SoundID id, vrpn_float64 doplerfactor)=0
virtual void loadSoundRemote(char *file, vrpn_SoundID id, vrpn_SoundDef soundDef)=0
virtual void setPolyQuadVertices(vrpn_float64 vertices[4][3], const vrpn_int32 id)=0
virtual void setSoundEqValue(vrpn_SoundID id, vrpn_float64 eqvalue)=0
virtual void setSoundVolume(vrpn_SoundID id, vrpn_float64 volume)=0
virtual void setPolyOF(vrpn_float64 OF, vrpn_int32 tag)=0
virtual void playSound(vrpn_SoundID id, vrpn_int32 repeat, vrpn_SoundDef soundDef)=0
virtual void setListenerVelocity(vrpn_float64 *velocity)=0
virtual void setSoundVelocity(vrpn_SoundID id, vrpn_float64 *velocity)=0
virtual void setListenerPose(vrpn_PoseDef pose)=0
virtual void setSoundConeInfo(vrpn_SoundID id, vrpn_float64 *coneinfo)=0
virtual void loadMaterial(vrpn_MaterialDef *material, vrpn_int32 id)=0
virtual void setSoundPose(vrpn_SoundID id, vrpn_PoseDef pose)=0
virtual void setSoundDistInfo(vrpn_SoundID id, vrpn_float64 *distinfo)=0
virtual void unloadSound(vrpn_SoundID id)=0
virtual void changeSoundStatus(vrpn_SoundID id, vrpn_SoundDef soundDef)=0
virtual void loadPolyQuad(vrpn_QuadDef *quad)=0
virtual void setPolyTriVertices(vrpn_float64 vertices[3][3], const vrpn_int32 id)=0
virtual void setPolyMaterial(const char *material, vrpn_int32 tag)=0
virtual void stopSound(vrpn_SoundID id)=0
virtual void loadSoundLocal(char *filename, vrpn_SoundID id, vrpn_SoundDef soundDef)=0
vrpn_int32 encodeSoundID(const vrpn_SoundID id, char *buf)
vrpn_int32 load_model_local
vrpn_int32 decodeSetQuadVert(const char *buf, vrpn_float64(*vertices)[4][3], vrpn_int32 *tag)
vrpn_int32 set_polyquad_vertices
vrpn_int32 encodeSound_local(const char *filename, const vrpn_SoundID id, const vrpn_SoundDef soundDef, char **buf)
vrpn_int32 decodeSoundEqFactor(const char *buf, vrpn_float64 *eqfactor, vrpn_SoundID *id)
vrpn_int32 set_sound_coneinfo
vrpn_int32 decodeListenerPose(const char *buf, vrpn_PoseDef *pose)
vrpn_int32 set_listener_pose
vrpn_int32 decodeSoundPose(const char *buf, vrpn_PoseDef *pose, vrpn_SoundID *id)
vrpn_int32 encodeSound_remote(const char *filename, const vrpn_SoundID id, char **buf)
vrpn_int32 encodeLoadModel_local(const char *filename, char **buf)
vrpn_Sound(const char *name, vrpn_Connection *c)
vrpn_int32 encodeLoadPolyQuad(const vrpn_QuadDef quad, char *buf)
vrpn_int32 set_sound_pitch
vrpn_int32 decodeSoundPlay(const char *buf, vrpn_SoundID *id, vrpn_int32 *repeat)
vrpn_int32 decodeSetPolyOF(const char *buf, vrpn_float64 *openingfactor, vrpn_int32 *tag)
vrpn_int32 encodeSoundDef(const vrpn_SoundDef sound, const vrpn_SoundID id, const vrpn_int32 repeat, char *buf)
vrpn_int32 decodeSoundDef(const char *buf, vrpn_SoundDef *sound, vrpn_SoundID *id, vrpn_int32 *repeat)
vrpn_int32 decodeSoundPitch(const char *buf, vrpn_float64 *pitch, vrpn_SoundID *id)
vrpn_int32 set_sound_distanceinfo
vrpn_int32 load_sound_remote
vrpn_int32 encodeLoadModel_remote(const char *filename, char **buf)
vrpn_int32 encodeSoundConeInfo(const vrpn_float64 cone_inner_angle, const vrpn_float64 cone_outer_angle, const vrpn_float64 cone_gain, const vrpn_SoundID id, char *buf)
vrpn_int32 decodeSoundVelocity(const char *buf, vrpn_float64 *velocity, vrpn_SoundID *id)
vrpn_int32 decodeSoundDistInfo(const char *buf, vrpn_float64 *min_back, vrpn_float64 *max_back, vrpn_float64 *min_front, vrpn_float64 *max_front, vrpn_SoundID *id)
vrpn_int32 set_sound_velocity
vrpn_int32 decodeLoadPolyTri(const char *buf, vrpn_TriDef *tri)
vrpn_int32 encodeSoundPlay(const vrpn_SoundID id, const vrpn_int32 repeat, char *buf)
vrpn_int32 encodeSoundDistInfo(const vrpn_float64 min_back, const vrpn_float64 max_back, const vrpn_float64 min_front, const vrpn_float64 max_front, const vrpn_SoundID id, char *buf)
vrpn_int32 decodeSetPolyMaterial(const char *buf, char **material, vrpn_int32 *tag, const int payload)
vrpn_int32 decodeSetTriVert(const char *buf, vrpn_float64(*vertices)[3][3], vrpn_int32 *tag)
vrpn_int32 set_listener_velocity
vrpn_int32 decodeLoadModel_remote(const char *buf, char **filename, const int payload)
vrpn_int32 decodeLoadMaterial(const char *buf, vrpn_MaterialDef *material, vrpn_int32 *id)
vrpn_int32 encodeListenerVelocity(const vrpn_float64 *velocity, char *buf)
vrpn_int32 load_model_remote
vrpn_int32 set_sound_doplerfactor
vrpn_int32 encodeLoadMaterial(const vrpn_int32 id, const vrpn_MaterialDef material, char *buf)
vrpn_int32 encodeListenerPose(const vrpn_PoseDef pose, char *buf)
vrpn_int32 decodeSoundVolume(const char *buf, vrpn_float64 *volume, vrpn_SoundID *id)
vrpn_int32 decodeSound_remote(const char *buf, char **filename, vrpn_SoundID *id, const int payload)
vrpn_int32 decodeSoundConeInfo(const char *buf, vrpn_float64 *cone_inner_angle, vrpn_float64 *cone_outer_angle, vrpn_float64 *cone_gain, vrpn_SoundID *id)
vrpn_int32 encodeSoundEqFactor(const vrpn_float64 eqfactor, const vrpn_SoundID id, char *buf)
vrpn_int32 encodeSoundVolume(const vrpn_float64 volume, const vrpn_SoundID id, char *buf)
vrpn_int32 set_sound_volume
vrpn_int32 set_sound_pose
vrpn_int32 encodeSetQuadVert(const vrpn_float64 vertices[4][3], const vrpn_int32 tag, char *buf)
vrpn_int32 load_sound_local
vrpn_int32 change_sound_status
vrpn_int32 encodeSetTriVert(const vrpn_float64 vertices[3][3], const vrpn_int32 tag, char *buf)
vrpn_int32 encodeLoadPolyTri(const vrpn_TriDef tri, char *buf)
vrpn_int32 set_sound_eqvalue
vrpn_int32 set_poly_material
vrpn_int32 encodeSoundDoplerScale(const vrpn_float64 doplerfactor, const vrpn_SoundID id, char *buf)
vrpn_int32 decodeLoadPolyQuad(const char *buf, vrpn_QuadDef *quad)
vrpn_int32 encodeSoundPose(const vrpn_PoseDef pose, const vrpn_SoundID id, char *buf)
vrpn_int32 receive_text_message
vrpn_int32 decodeSound_local(const char *buf, char **filename, vrpn_SoundID *id, vrpn_SoundDef *soundDef, const int payload)
vrpn_int32 decodeSoundID(const char *buf, vrpn_SoundID *id)
vrpn_int32 encodeSetPolyOF(const vrpn_float64 openingfactor, const vrpn_int32 tag, char *buf)
vrpn_int32 set_poly_openingfactor
vrpn_int32 encodeSoundPitch(const vrpn_float64 pitch, const vrpn_SoundID id, char *buf)
vrpn_int32 encodeSoundVelocity(const vrpn_float64 *velocity, const vrpn_SoundID id, char *buf)
vrpn_int32 set_polytri_vertices
vrpn_int32 decodeLoadModel_local(const char *buf, char **filename, const int payload)
vrpn_int32 decodeSoundDoplerScale(const char *buf, vrpn_float64 *doplerfactor, vrpn_SoundID *id)
vrpn_int32 encodeSetPolyMaterial(const char *material, const vrpn_int32 tag, char *buf)
vrpn_int32 decodeListenerVelocity(const char *buf, vrpn_float64 *velocity)
vrpn_Text_Receiver(const char *name, vrpn_Connection *c=NULL)
vrpn_Text_Sender(const char *name, vrpn_Connection *c=NULL)
This structure is what is passed to a vrpn_Connection message callback.
vrpn_float64 reflectance_highfreq
vrpn_float64 reflectance_gain
char material_name[MAX_MATERIAL_NAME_LENGTH]
vrpn_float64 transmittance_gain
vrpn_float64 transmittance_highfreq
vrpn_float64 orientation[4]
vrpn_float64 vertices[4][3]
char material_name[MAX_MATERIAL_NAME_LENGTH]
vrpn_float64 openingFactor
vrpn_float64 min_front_dist
vrpn_float64 equalization_val
vrpn_float64 cone_outer_angle
vrpn_float64 max_front_dist
vrpn_float64 cone_inner_angle
vrpn_float64 max_back_dist
vrpn_float64 dopler_scale
vrpn_float64 min_back_dist
Structure passed back to user-level code from a vrpn_Text_Receiver.
char material_name[MAX_MATERIAL_NAME_LENGTH]
vrpn_float64 vertices[3][3]
vrpn_float64 openingFactor
All types of client/server/peer objects in VRPN should be derived from the vrpn_BaseClass type descri...
#define MAX_MATERIAL_NAME_LENGTH
class VRPN_API vrpn_Connection