vrpn 07.35
Virtual Reality Peripheral Network
Loading...
Searching...
No Matches
vrpn_ForceDevice_Remote Class Reference

#include <vrpn_ForceDevice.h>

Inheritance diagram for vrpn_ForceDevice_Remote:
Collaboration diagram for vrpn_ForceDevice_Remote:

Public Member Functions

 vrpn_ForceDevice_Remote (const char *name, vrpn_Connection *cn=NULL)
 
virtual ~vrpn_ForceDevice_Remote (void)
 
void sendSurface (void)
 
void startSurface (void)
 
void stopSurface (void)
 
void setVertex (vrpn_int32 vertNum, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 functions for a single object
 
void setNormal (vrpn_int32 normNum, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
void setTriangle (vrpn_int32 triNum, vrpn_int32 vert0, vrpn_int32 vert1, vrpn_int32 vert2, vrpn_int32 norm0=-1, vrpn_int32 norm1=-1, vrpn_int32 norm2=-1)
 
void removeTriangle (vrpn_int32 triNum)
 
void updateTrimeshChanges ()
 
void setTrimeshTransform (vrpn_float32 homMatrix[16])
 
void clearTrimesh (void)
 
void addObject (vrpn_int32 objNum, vrpn_int32 ParentNum=-1)
 functions for multiple objects in the haptic scene
 
void addObjectExScene (vrpn_int32 objNum)
 
void setObjectVertex (vrpn_int32 objNum, vrpn_int32 vertNum, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
void setObjectNormal (vrpn_int32 objNum, vrpn_int32 normNum, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
void setObjectTriangle (vrpn_int32 objNum, vrpn_int32 triNum, vrpn_int32 vert0, vrpn_int32 vert1, vrpn_int32 vert2, vrpn_int32 norm0=-1, vrpn_int32 norm1=-1, vrpn_int32 norm2=-1)
 
void removeObjectTriangle (vrpn_int32 objNum, vrpn_int32 triNum)
 
void updateObjectTrimeshChanges (vrpn_int32 objNum)
 
void setObjectTrimeshTransform (vrpn_int32 objNum, vrpn_float32 homMatrix[16])
 
void setObjectPosition (vrpn_int32 objNum, vrpn_float32 Pos[3])
 
void setObjectOrientation (vrpn_int32 objNum, vrpn_float32 axis[3], vrpn_float32 angle)
 
void setObjectScale (vrpn_int32 objNum, vrpn_float32 Scale[3])
 
void removeObject (vrpn_int32 objNum)
 
void clearObjectTrimesh (vrpn_int32 objNum)
 
void moveToParent (vrpn_int32 objNum, vrpn_int32 ParentNum)
 Functions to organize the scene.
 
void setHapticOrigin (vrpn_float32 Pos[3], vrpn_float32 axis[3], vrpn_float32 angle)
 
void setHapticScale (vrpn_float32 Scale)
 
void setSceneOrigin (vrpn_float32 Pos[3], vrpn_float32 axis[3], vrpn_float32 angle)
 
vrpn_int32 getNewObjectID ()
 
void setObjectIsTouchable (vrpn_int32 objNum, vrpn_bool IsTouchable=true)
 
void useHcollide ()
 
void useGhost ()
 
void enableConstraint (vrpn_int32 enable)
 
void setConstraintMode (ConstraintGeometry mode)
 
void setConstraintPoint (vrpn_float32 point[3])
 
void setConstraintLinePoint (vrpn_float32 point[3])
 
void setConstraintLineDirection (vrpn_float32 direction[3])
 
void setConstraintPlanePoint (vrpn_float32 point[3])
 
void setConstraintPlaneNormal (vrpn_float32 normal[3])
 
void setConstraintKSpring (vrpn_float32 k)
 
void sendForceField (vrpn_float32 origin[3], vrpn_float32 force[3], vrpn_float32 jacobian[3][3], vrpn_float32 radius)
 
void sendForceField (void)
 
void stopForceField (void)
 
void startEffect (void)
 
void stopEffect (void)
 
virtual void mainloop ()
 Called once through each main loop iteration to handle updates. Remote object mainloop() should call client_mainloop() and then call d_connection->mainloop(). Server object mainloop() should service the device and then call server_mainloop(), but should not normally call d_connection->mainloop().
 
virtual int register_force_change_handler (void *userdata, vrpn_FORCECHANGEHANDLER handler)
 
virtual int unregister_force_change_handler (void *userdata, vrpn_FORCECHANGEHANDLER handler)
 
virtual int register_scp_change_handler (void *userdata, vrpn_FORCESCPHANDLER handler)
 
virtual int unregister_scp_change_handler (void *userdata, vrpn_FORCESCPHANDLER handler)
 
virtual int register_error_handler (void *userdata, vrpn_FORCEERRORHANDLER handler)
 
virtual int unregister_error_handler (void *userdata, vrpn_FORCEERRORHANDLER handler)
 
- Public Member Functions inherited from vrpn_ForceDevice
 vrpn_ForceDevice (const char *name, vrpn_Connection *c)
 
virtual ~vrpn_ForceDevice (void)
 
void print_report (void)
 
void print_plane (void)
 
void setSurfaceKspring (vrpn_float32 k)
 
void setSurfaceKdamping (vrpn_float32 d)
 
void setSurfaceFstatic (vrpn_float32 ks)
 
void setSurfaceFdynamic (vrpn_float32 kd)
 
void setRecoveryTime (int rt)
 
void setSurfaceKadhesionNormal (vrpn_float32 k)
 
void setSurfaceKadhesionLateral (vrpn_float32 k)
 
void setSurfaceBuzzFrequency (vrpn_float32 freq)
 
void setSurfaceBuzzAmplitude (vrpn_float32 amp)
 
void setSurfaceTextureWavelength (vrpn_float32 wl)
 
void setSurfaceTextureAmplitude (vrpn_float32 amp)
 
void setCustomEffect (vrpn_int32 effectId, vrpn_float32 *params=NULL, vrpn_uint32 nbParams=0)
 
void setFF_Origin (vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
void setFF_Origin (vrpn_float32 x[3])
 
void setFF_Force (vrpn_float32 fx, vrpn_float32 fy, vrpn_float32 fz)
 
void setFF_Force (vrpn_float32 f[3])
 
void setFF_Jacobian (vrpn_float32 dfxdx, vrpn_float32 dfxdy, vrpn_float32 dfxdz, vrpn_float32 dfydx, vrpn_float32 dfydy, vrpn_float32 dfydz, vrpn_float32 dfzdx, vrpn_float32 dfzdy, vrpn_float32 dfzdz)
 
void setFF_Radius (vrpn_float32 r)
 
void set_plane (vrpn_float32 *p)
 
void set_plane (vrpn_float32 *p, vrpn_float32 d)
 
void set_plane (vrpn_float32 a, vrpn_float32 b, vrpn_float32 c, vrpn_float32 d)
 
void sendError (int error_code)
 
int getRecoveryTime (void)
 
int connectionAvailable (void)
 
- Public Member Functions inherited from vrpn_BaseClass
 vrpn_BaseClass (const char *name, vrpn_Connection *c=NULL)
 Names the device and assigns or opens connection, calls registration methods.
 
virtual ~vrpn_BaseClass ()
 
- Public Member Functions inherited from vrpn_BaseClassUnique
 vrpn_BaseClassUnique ()
 
virtual ~vrpn_BaseClassUnique ()
 Unregister all of the message handlers that were to be autodeleted.
 
vrpn_ConnectionconnectionPtr ()
 Returns a pointer to the connection this object is using.
 

Protected Member Functions

void send (const char *msgbuf, vrpn_int32 len, vrpn_int32 type)
 
void constraintToForceField (void)
 
- Protected Member Functions inherited from vrpn_ForceDevice
virtual int register_types (void)
 Register the types of messages this device sends/receives. Return 0 on success, -1 on fail.
 
- Protected Member Functions inherited from vrpn_BaseClass
virtual int init (void)
 Initialize things that the constructor can't. Returns 0 on success, -1 on failure.
 
virtual int register_senders (void)
 Register the sender for this device (by default, the name of the device). Return 0 on success, -1 on fail.
 
- Protected Member Functions inherited from vrpn_BaseClassUnique
int register_autodeleted_handler (vrpn_int32 type, vrpn_MESSAGEHANDLER handler, void *userdata, vrpn_int32 sender=vrpn_ANY_SENDER)
 Registers a handler with the connection, and remembers to delete at destruction.
 
int send_text_message (const char *msg, struct timeval timestamp, vrpn_TEXT_SEVERITY type=vrpn_TEXT_NORMAL, vrpn_uint32 level=0)
 Sends a NULL-terminated text message from the device d_sender_id.
 
SendTextMessageBoundCall send_text_message (vrpn_TEXT_SEVERITY type=vrpn_TEXT_NORMAL)
 Returns an object you can stream into to send a text message from the device like send_text_message(vrpn_TEXT_WARNING) << "Value of i is: " << i; This use requires including vrpn_SendTextMessageStreamProxy.h.
 
void server_mainloop (void)
 Handles functions that all servers should provide in their mainloop() (ping/pong, for example) Should be called by all servers in their mainloop()
 
void client_mainloop (void)
 Handles functions that all clients should provide in their mainloop() (warning of no server, for example) Should be called by all clients in their mainloop()
 

Static Protected Member Functions

static int VRPN_CALLBACK handle_force_change_message (void *userdata, vrpn_HANDLERPARAM p)
 
static int VRPN_CALLBACK handle_scp_change_message (void *userdata, vrpn_HANDLERPARAM p)
 
static int VRPN_CALLBACK handle_error_change_message (void *userdata, vrpn_HANDLERPARAM p)
 
- Static Protected Member Functions inherited from vrpn_ForceDevice
static char * encode_custom_effect (vrpn_int32 &len, vrpn_uint32 effectId, const vrpn_float32 *params, vrpn_uint32 nbParams)
 
static char * encode_force (vrpn_int32 &length, const vrpn_float64 *force)
 
static char * encode_scp (vrpn_int32 &length, const vrpn_float64 *pos, const vrpn_float64 *quat)
 
static char * encode_plane (vrpn_int32 &length, const vrpn_float32 *plane, const vrpn_float32 kspring, const vrpn_float32 kdamp, const vrpn_float32 fdyn, const vrpn_float32 fstat, const vrpn_int32 plane_index, const vrpn_int32 n_rec_cycles)
 
static char * encode_surface_effects (vrpn_int32 &len, const vrpn_float32 k_adhesion_norm, const vrpn_float32 k_adhesion_lat, const vrpn_float32 tex_amp, const vrpn_float32 tex_wl, const vrpn_float32 buzz_amp, const vrpn_float32 buzz_freq)
 
static char * encode_vertex (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_int32 vertNum, const vrpn_float32 x, const vrpn_float32 y, const vrpn_float32 z)
 
static char * encode_normal (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_int32 vertNum, const vrpn_float32 x, const vrpn_float32 y, const vrpn_float32 z)
 
static char * encode_triangle (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_int32 triNum, const vrpn_int32 vert0, const vrpn_int32 vert1, const vrpn_int32 vert2, const vrpn_int32 norm0, const vrpn_int32 norm1, const vrpn_int32 norm2)
 
static char * encode_removeTriangle (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_int32 triNum)
 
static char * encode_updateTrimeshChanges (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_float32 kspring, const vrpn_float32 kdamp, const vrpn_float32 fdyn, const vrpn_float32 fstat)
 
static char * encode_setTrimeshType (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_int32 type)
 
static char * encode_trimeshTransform (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_float32 homMatrix[16])
 
static char * encode_addObject (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_int32 ParentNum)
 
static char * encode_addObjectExScene (vrpn_int32 &len, const vrpn_int32 objNum)
 
static char * encode_objectPosition (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_float32 Pos[3])
 
static char * encode_objectOrientation (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_float32 axis[3], const vrpn_float32 angle)
 
static char * encode_objectScale (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_float32 Scale[3])
 
static char * encode_removeObject (vrpn_int32 &len, const vrpn_int32 objNum)
 
static char * encode_clearTrimesh (vrpn_int32 &len, const vrpn_int32 objNum)
 
static char * encode_moveToParent (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_int32 parentNum)
 
static char * encode_setHapticOrigin (vrpn_int32 &len, const vrpn_float32 Pos[3], const vrpn_float32 axis[3], const vrpn_float32 angle)
 
static char * encode_setSceneOrigin (vrpn_int32 &len, const vrpn_float32 Pos[3], const vrpn_float32 axis[3], const vrpn_float32 angle)
 
static char * encode_setHapticScale (vrpn_int32 &len, const vrpn_float32 Scale)
 
static char * encode_setObjectIsTouchable (vrpn_int32 &len, const vrpn_int32 objNum, const vrpn_bool isTouchable)
 
static char * encode_forcefield (vrpn_int32 &len, const vrpn_float32 origin[3], const vrpn_float32 force[3], const vrpn_float32 jacobian[3][3], const vrpn_float32 radius)
 
static char * encode_error (vrpn_int32 &len, const vrpn_int32 error_code)
 
static vrpn_int32 decode_custom_effect (const char *buffer, const vrpn_int32 len, vrpn_uint32 *effectId, vrpn_float32 **params, vrpn_uint32 *nbParams)
 
static vrpn_int32 decode_force (const char *buffer, const vrpn_int32 len, vrpn_float64 *force)
 
static vrpn_int32 decode_scp (const char *buffer, const vrpn_int32 len, vrpn_float64 *pos, vrpn_float64 *quat)
 
static vrpn_int32 decode_plane (const char *buffer, const vrpn_int32 len, vrpn_float32 *plane, vrpn_float32 *kspring, vrpn_float32 *kdamp, vrpn_float32 *fdyn, vrpn_float32 *fstat, vrpn_int32 *plane_index, vrpn_int32 *n_rec_cycles)
 
static vrpn_int32 decode_surface_effects (const char *buffer, const vrpn_int32 len, vrpn_float32 *k_adhesion_norm, vrpn_float32 *k_adhesion_lat, vrpn_float32 *tex_amp, vrpn_float32 *tex_wl, vrpn_float32 *buzz_amp, vrpn_float32 *buzz_freq)
 
static vrpn_int32 decode_vertex (const char *buffer, const vrpn_int32 len, vrpn_int32 *objNum, vrpn_int32 *vertNum, vrpn_float32 *x, vrpn_float32 *y, vrpn_float32 *z)
 
static vrpn_int32 decode_normal (const char *buffer, const vrpn_int32 len, vrpn_int32 *objNum, vrpn_int32 *vertNum, vrpn_float32 *x, vrpn_float32 *y, vrpn_float32 *z)
 
static vrpn_int32 decode_triangle (const char *buffer, const vrpn_int32 len, vrpn_int32 *objNum, vrpn_int32 *triNum, vrpn_int32 *vert0, vrpn_int32 *vert1, vrpn_int32 *vert2, vrpn_int32 *norm0, vrpn_int32 *norm1, vrpn_int32 *norm2)
 
static vrpn_int32 decode_removeTriangle (const char *buffer, const vrpn_int32 len, vrpn_int32 *objNum, vrpn_int32 *triNum)
 
static vrpn_int32 decode_updateTrimeshChanges (const char *buffer, const vrpn_int32 len, vrpn_int32 *objNum, vrpn_float32 *kspring, vrpn_float32 *kdamp, vrpn_float32 *fdyn, vrpn_float32 *fstat)
 
static vrpn_int32 decode_setTrimeshType (const char *buffer, const vrpn_int32 len, vrpn_int32 *objNum, vrpn_int32 *type)
 
static vrpn_int32 decode_trimeshTransform (const char *buffer, const vrpn_int32 len, vrpn_int32 *objNum, vrpn_float32 homMatrix[16])
 
static vrpn_int32 decode_addObject (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum, vrpn_int32 *ParentNum)
 
static vrpn_int32 decode_addObjectExScene (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum)
 
static vrpn_int32 decode_objectPosition (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum, vrpn_float32 Pos[3])
 
static vrpn_int32 decode_objectOrientation (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum, vrpn_float32 axis[3], vrpn_float32 *angle)
 
static vrpn_int32 decode_objectScale (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum, vrpn_float32 Scale[3])
 
static vrpn_int32 decode_removeObject (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum)
 
static vrpn_int32 decode_clearTrimesh (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum)
 
static vrpn_int32 decode_moveToParent (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum, vrpn_int32 *parentNum)
 
static vrpn_int32 decode_setHapticOrigin (const char *buffer, vrpn_int32 len, vrpn_float32 Pos[3], vrpn_float32 axis[3], vrpn_float32 *angle)
 
static vrpn_int32 decode_setHapticScale (const char *buffer, vrpn_int32 len, vrpn_float32 *Scale)
 
static vrpn_int32 decode_setSceneOrigin (const char *buffer, vrpn_int32 len, vrpn_float32 Pos[3], vrpn_float32 axis[3], vrpn_float32 *angle)
 
static vrpn_int32 decode_setObjectIsTouchable (const char *buffer, vrpn_int32 len, vrpn_int32 *objNum, vrpn_bool *isTouchable)
 
static vrpn_int32 decode_forcefield (const char *buffer, const vrpn_int32 len, vrpn_float32 origin[3], vrpn_float32 force[3], vrpn_float32 jacobian[3][3], vrpn_float32 *radius)
 
static vrpn_int32 decode_error (const char *buffer, const vrpn_int32 len, vrpn_int32 *error_code)
 
static char * encode_enableConstraint (vrpn_int32 &len, vrpn_int32 enable)
 
static vrpn_int32 decode_enableConstraint (const char *buffer, const vrpn_int32 len, vrpn_int32 *enable)
 
static char * encode_setConstraintMode (vrpn_int32 &len, ConstraintGeometry mode)
 
static vrpn_int32 decode_setConstraintMode (const char *buffer, const vrpn_int32 len, ConstraintGeometry *mode)
 
static char * encode_setConstraintPoint (vrpn_int32 &len, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
static vrpn_int32 decode_setConstraintPoint (const char *buffer, const vrpn_int32 len, vrpn_float32 *x, vrpn_float32 *y, vrpn_float32 *z)
 
static char * encode_setConstraintLinePoint (vrpn_int32 &len, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
static vrpn_int32 decode_setConstraintLinePoint (const char *buffer, const vrpn_int32 len, vrpn_float32 *x, vrpn_float32 *y, vrpn_float32 *z)
 
static char * encode_setConstraintLineDirection (vrpn_int32 &len, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
static vrpn_int32 decode_setConstraintLineDirection (const char *buffer, const vrpn_int32 len, vrpn_float32 *x, vrpn_float32 *y, vrpn_float32 *z)
 
static char * encode_setConstraintPlanePoint (vrpn_int32 &len, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
static vrpn_int32 decode_setConstraintPlanePoint (const char *buffer, const vrpn_int32 len, vrpn_float32 *x, vrpn_float32 *y, vrpn_float32 *z)
 
static char * encode_setConstraintPlaneNormal (vrpn_int32 &len, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
static vrpn_int32 decode_setConstraintPlaneNormal (const char *buffer, const vrpn_int32 len, vrpn_float32 *x, vrpn_float32 *y, vrpn_float32 *z)
 
static char * encode_setConstraintKSpring (vrpn_int32 &len, vrpn_float32 k)
 
static vrpn_int32 decode_setConstraintKSpring (const char *buffer, const vrpn_int32 len, vrpn_float32 *k)
 
static char * encodePoint (vrpn_int32 &len, vrpn_float32 x, vrpn_float32 y, vrpn_float32 z)
 
static vrpn_int32 decodePoint (const char *buffer, const vrpn_int32 len, vrpn_float32 *x, vrpn_float32 *y, vrpn_float32 *z)
 
- Static Protected Member Functions inherited from vrpn_BaseClassUnique
static int encode_text_message_to_buffer (char *buf, vrpn_TEXT_SEVERITY severity, vrpn_uint32 level, const char *msg)
 Encodes the body of the text message into a buffer, preparing for sending.
 
static int decode_text_message_from_buffer (char *msg, vrpn_TEXT_SEVERITY *severity, vrpn_uint32 *level, const char *buf)
 Decodes the body of the text message from a buffer from the connection.
 

Protected Attributes

vrpn_Callback_List< vrpn_FORCECBd_change_list
 
vrpn_Callback_List< vrpn_FORCESCPCBd_scp_change_list
 
vrpn_Callback_List< vrpn_FORCEERRORCBd_error_change_list
 
vrpn_int32 d_conEnabled
 
ConstraintGeometry d_conMode
 
vrpn_float32 d_conPoint [3]
 
vrpn_float32 d_conLinePoint [3]
 
vrpn_float64 d_conLineDirection [3]
 
vrpn_float32 d_conPlanePoint [3]
 
vrpn_float64 d_conPlaneNormal [3]
 
vrpn_float32 d_conKSpring
 
vrpn_int32 m_NextAvailableObjectID
 
- Protected Attributes inherited from vrpn_ForceDevice
vrpn_int32 force_message_id
 
vrpn_int32 plane_message_id
 
vrpn_int32 plane_effects_message_id
 
vrpn_int32 forcefield_message_id
 
vrpn_int32 scp_message_id
 
vrpn_int32 enableConstraint_message_id
 
vrpn_int32 setConstraintMode_message_id
 
vrpn_int32 setConstraintPoint_message_id
 
vrpn_int32 setConstraintLinePoint_message_id
 
vrpn_int32 setConstraintLineDirection_message_id
 
vrpn_int32 setConstraintPlanePoint_message_id
 
vrpn_int32 setConstraintPlaneNormal_message_id
 
vrpn_int32 setConstraintKSpring_message_id
 
vrpn_int32 error_message_id
 
vrpn_int32 addObject_message_id
 
vrpn_int32 addObjectExScene_message_id
 
vrpn_int32 moveToParent_message_id
 
vrpn_int32 setObjectPosition_message_id
 
vrpn_int32 setObjectOrientation_message_id
 
vrpn_int32 setObjectScale_message_id
 
vrpn_int32 removeObject_message_id
 
vrpn_int32 setVertex_message_id
 
vrpn_int32 setNormal_message_id
 
vrpn_int32 setTriangle_message_id
 
vrpn_int32 removeTriangle_message_id
 
vrpn_int32 updateTrimeshChanges_message_id
 
vrpn_int32 transformTrimesh_message_id
 
vrpn_int32 setTrimeshType_message_id
 
vrpn_int32 clearTrimesh_message_id
 
vrpn_int32 setHapticOrigin_message_id
 
vrpn_int32 setHapticScale_message_id
 
vrpn_int32 setSceneOrigin_message_id
 
vrpn_int32 getNewObjectID_message_id
 
vrpn_int32 setObjectIsTouchable_message_id
 
vrpn_int32 custom_effect_message_id
 
struct timeval timestamp
 
vrpn_int32 which_plane
 
vrpn_float64 d_force [3]
 d_force isn't used in vrpn_ForceDevice, but seems to be used by derived classes? What's the meaning?
 
vrpn_float64 scp_pos [3]
 
vrpn_float64 scp_quat [4]
 
vrpn_float32 plane [4]
 
vrpn_float32 ff_origin [3]
 
vrpn_float32 ff_force [3]
 
vrpn_float32 ff_jacobian [3][3]
 
vrpn_float32 ff_radius
 
vrpn_float32 SurfaceKspring
 
vrpn_float32 SurfaceKdamping
 
vrpn_float32 SurfaceFstatic
 
vrpn_float32 SurfaceFdynamic
 
vrpn_int32 numRecCycles
 
vrpn_int32 errorCode
 
vrpn_float32 SurfaceKadhesionLateral
 
vrpn_float32 SurfaceKadhesionNormal
 
vrpn_float32 SurfaceBuzzFreq
 
vrpn_float32 SurfaceBuzzAmp
 
vrpn_float32 SurfaceTextureWavelength
 
vrpn_float32 SurfaceTextureAmplitude
 
vrpn_int32 customEffectId
 
vrpn_float32 * customEffectParams
 
vrpn_uint32 nbCustomEffectParams
 
- Protected Attributes inherited from vrpn_BaseClassUnique
vrpn_Connectiond_connection
 Connection that this object talks to.
 
char * d_servicename
 Name of this device, not including the connection part.
 
vrpn_int32 d_sender_id
 Sender ID registered with the connection.
 
vrpn_int32 d_text_message_id
 ID for text messages.
 
vrpn_int32 d_ping_message_id
 Ask the server if they are there.
 
vrpn_int32 d_pong_message_id
 Server telling that it is there.
 

Additional Inherited Members

- Public Types inherited from vrpn_ForceDevice
enum  ConstraintGeometry { NO_CONSTRAINT , POINT_CONSTRAINT , LINE_CONSTRAINT , PLANE_CONSTRAINT }
 
- Public Attributes inherited from vrpn_BaseClassUnique
bool shutup
 

Detailed Description

Definition at line 516 of file vrpn_ForceDevice.h.

Constructor & Destructor Documentation

◆ vrpn_ForceDevice_Remote()

◆ ~vrpn_ForceDevice_Remote()

vrpn_ForceDevice_Remote::~vrpn_ForceDevice_Remote ( void  )
virtual

Definition at line 1905 of file vrpn_ForceDevice.C.

Member Function Documentation

◆ addObject()

void vrpn_ForceDevice_Remote::addObject ( vrpn_int32  objNum,
vrpn_int32  ParentNum = -1 
)

◆ addObjectExScene()

◆ clearObjectTrimesh()

void vrpn_ForceDevice_Remote::clearObjectTrimesh ( vrpn_int32  objNum)

◆ clearTrimesh()

void vrpn_ForceDevice_Remote::clearTrimesh ( void  )

Definition at line 2046 of file vrpn_ForceDevice.C.

References clearObjectTrimesh().

Here is the call graph for this function:

◆ constraintToForceField()

◆ enableConstraint()

void vrpn_ForceDevice_Remote::enableConstraint ( vrpn_int32  enable)

Definition at line 2718 of file vrpn_ForceDevice.C.

References constraintToForceField(), d_conEnabled, sendForceField(), and stopForceField().

Here is the call graph for this function:

◆ getNewObjectID()

vrpn_int32 vrpn_ForceDevice_Remote::getNewObjectID ( )

Definition at line 2540 of file vrpn_ForceDevice.C.

References m_NextAvailableObjectID.

◆ handle_error_change_message()

int vrpn_ForceDevice_Remote::handle_error_change_message ( void *  userdata,
vrpn_HANDLERPARAM  p 
)
staticprotected

◆ handle_force_change_message()

int vrpn_ForceDevice_Remote::handle_force_change_message ( void *  userdata,
vrpn_HANDLERPARAM  p 
)
staticprotected

◆ handle_scp_change_message()

◆ mainloop()

void vrpn_ForceDevice_Remote::mainloop ( )
virtual

Called once through each main loop iteration to handle updates. Remote object mainloop() should call client_mainloop() and then call d_connection->mainloop(). Server object mainloop() should service the device and then call server_mainloop(), but should not normally call d_connection->mainloop().

Implements vrpn_BaseClass.

Definition at line 2881 of file vrpn_ForceDevice.C.

References vrpn_BaseClassUnique::client_mainloop(), vrpn_BaseClassUnique::d_connection, and vrpn_Connection::mainloop().

Here is the call graph for this function:

◆ moveToParent()

void vrpn_ForceDevice_Remote::moveToParent ( vrpn_int32  objNum,
vrpn_int32  ParentNum 
)

◆ register_error_handler()

virtual int vrpn_ForceDevice_Remote::register_error_handler ( void *  userdata,
vrpn_FORCEERRORHANDLER  handler 
)
inlinevirtual

Definition at line 676 of file vrpn_ForceDevice.h.

◆ register_force_change_handler()

virtual int vrpn_ForceDevice_Remote::register_force_change_handler ( void *  userdata,
vrpn_FORCECHANGEHANDLER  handler 
)
inlinevirtual

Definition at line 654 of file vrpn_ForceDevice.h.

◆ register_scp_change_handler()

virtual int vrpn_ForceDevice_Remote::register_scp_change_handler ( void *  userdata,
vrpn_FORCESCPHANDLER  handler 
)
inlinevirtual

Definition at line 665 of file vrpn_ForceDevice.h.

◆ removeObject()

◆ removeObjectTriangle()

void vrpn_ForceDevice_Remote::removeObjectTriangle ( vrpn_int32  objNum,
vrpn_int32  triNum 
)

◆ removeTriangle()

void vrpn_ForceDevice_Remote::removeTriangle ( vrpn_int32  triNum)

Definition at line 2029 of file vrpn_ForceDevice.C.

References removeObjectTriangle().

Here is the call graph for this function:

◆ send()

void vrpn_ForceDevice_Remote::send ( const char *  msgbuf,
vrpn_int32  len,
vrpn_int32  type 
)
protected

◆ sendForceField() [1/2]

◆ sendForceField() [2/2]

void vrpn_ForceDevice_Remote::sendForceField ( vrpn_float32  origin[3],
vrpn_float32  force[3],
vrpn_float32  jacobian[3][3],
vrpn_float32  radius 
)

◆ sendSurface()

◆ setConstraintKSpring()

void vrpn_ForceDevice_Remote::setConstraintKSpring ( vrpn_float32  k)

Definition at line 2804 of file vrpn_ForceDevice.C.

References constraintToForceField(), d_conEnabled, d_conKSpring, and sendForceField().

Here is the call graph for this function:

◆ setConstraintLineDirection()

void vrpn_ForceDevice_Remote::setConstraintLineDirection ( vrpn_float32  direction[3])

Definition at line 2770 of file vrpn_ForceDevice.C.

References constraintToForceField(), d_conEnabled, d_conLineDirection, and sendForceField().

Here is the call graph for this function:

◆ setConstraintLinePoint()

void vrpn_ForceDevice_Remote::setConstraintLinePoint ( vrpn_float32  point[3])

Definition at line 2759 of file vrpn_ForceDevice.C.

References constraintToForceField(), d_conEnabled, d_conLinePoint, and sendForceField().

Here is the call graph for this function:

◆ setConstraintMode()

void vrpn_ForceDevice_Remote::setConstraintMode ( ConstraintGeometry  mode)

Definition at line 2739 of file vrpn_ForceDevice.C.

References constraintToForceField(), d_conEnabled, d_conMode, and sendForceField().

Here is the call graph for this function:

◆ setConstraintPlaneNormal()

void vrpn_ForceDevice_Remote::setConstraintPlaneNormal ( vrpn_float32  normal[3])

Definition at line 2793 of file vrpn_ForceDevice.C.

References constraintToForceField(), d_conEnabled, d_conPlaneNormal, and sendForceField().

Here is the call graph for this function:

◆ setConstraintPlanePoint()

void vrpn_ForceDevice_Remote::setConstraintPlanePoint ( vrpn_float32  point[3])

Definition at line 2782 of file vrpn_ForceDevice.C.

References constraintToForceField(), d_conEnabled, d_conPlanePoint, and sendForceField().

Here is the call graph for this function:

◆ setConstraintPoint()

void vrpn_ForceDevice_Remote::setConstraintPoint ( vrpn_float32  point[3])

Definition at line 2748 of file vrpn_ForceDevice.C.

References constraintToForceField(), d_conEnabled, d_conPoint, and sendForceField().

Here is the call graph for this function:

◆ setHapticOrigin()

void vrpn_ForceDevice_Remote::setHapticOrigin ( vrpn_float32  Pos[3],
vrpn_float32  axis[3],
vrpn_float32  angle 
)

◆ setHapticScale()

◆ setNormal()

void vrpn_ForceDevice_Remote::setNormal ( vrpn_int32  normNum,
vrpn_float32  x,
vrpn_float32  y,
vrpn_float32  z 
)

Definition at line 2015 of file vrpn_ForceDevice.C.

References setObjectNormal().

Here is the call graph for this function:

◆ setObjectIsTouchable()

void vrpn_ForceDevice_Remote::setObjectIsTouchable ( vrpn_int32  objNum,
vrpn_bool  IsTouchable = true 
)

◆ setObjectNormal()

void vrpn_ForceDevice_Remote::setObjectNormal ( vrpn_int32  objNum,
vrpn_int32  normNum,
vrpn_float32  x,
vrpn_float32  y,
vrpn_float32  z 
)

◆ setObjectOrientation()

void vrpn_ForceDevice_Remote::setObjectOrientation ( vrpn_int32  objNum,
vrpn_float32  axis[3],
vrpn_float32  angle 
)

◆ setObjectPosition()

void vrpn_ForceDevice_Remote::setObjectPosition ( vrpn_int32  objNum,
vrpn_float32  Pos[3] 
)

◆ setObjectScale()

void vrpn_ForceDevice_Remote::setObjectScale ( vrpn_int32  objNum,
vrpn_float32  Scale[3] 
)

◆ setObjectTriangle()

void vrpn_ForceDevice_Remote::setObjectTriangle ( vrpn_int32  objNum,
vrpn_int32  triNum,
vrpn_int32  vert0,
vrpn_int32  vert1,
vrpn_int32  vert2,
vrpn_int32  norm0 = -1,
vrpn_int32  norm1 = -1,
vrpn_int32  norm2 = -1 
)

◆ setObjectTrimeshTransform()

void vrpn_ForceDevice_Remote::setObjectTrimeshTransform ( vrpn_int32  objNum,
vrpn_float32  homMatrix[16] 
)

◆ setObjectVertex()

void vrpn_ForceDevice_Remote::setObjectVertex ( vrpn_int32  objNum,
vrpn_int32  vertNum,
vrpn_float32  x,
vrpn_float32  y,
vrpn_float32  z 
)

◆ setSceneOrigin()

void vrpn_ForceDevice_Remote::setSceneOrigin ( vrpn_float32  Pos[3],
vrpn_float32  axis[3],
vrpn_float32  angle 
)

◆ setTriangle()

void vrpn_ForceDevice_Remote::setTriangle ( vrpn_int32  triNum,
vrpn_int32  vert0,
vrpn_int32  vert1,
vrpn_int32  vert2,
vrpn_int32  norm0 = -1,
vrpn_int32  norm1 = -1,
vrpn_int32  norm2 = -1 
)

Definition at line 2021 of file vrpn_ForceDevice.C.

References setObjectTriangle().

Here is the call graph for this function:

◆ setTrimeshTransform()

void vrpn_ForceDevice_Remote::setTrimeshTransform ( vrpn_float32  homMatrix[16])

Definition at line 2040 of file vrpn_ForceDevice.C.

References setObjectTrimeshTransform().

Here is the call graph for this function:

◆ setVertex()

void vrpn_ForceDevice_Remote::setVertex ( vrpn_int32  vertNum,
vrpn_float32  x,
vrpn_float32  y,
vrpn_float32  z 
)

functions for a single object

Definition at line 2009 of file vrpn_ForceDevice.C.

References setObjectVertex().

Here is the call graph for this function:

◆ startEffect()

◆ startSurface()

◆ stopEffect()

◆ stopForceField()

◆ stopSurface()

◆ unregister_error_handler()

virtual int vrpn_ForceDevice_Remote::unregister_error_handler ( void *  userdata,
vrpn_FORCEERRORHANDLER  handler 
)
inlinevirtual

Definition at line 681 of file vrpn_ForceDevice.h.

◆ unregister_force_change_handler()

virtual int vrpn_ForceDevice_Remote::unregister_force_change_handler ( void *  userdata,
vrpn_FORCECHANGEHANDLER  handler 
)
inlinevirtual

Definition at line 659 of file vrpn_ForceDevice.h.

◆ unregister_scp_change_handler()

virtual int vrpn_ForceDevice_Remote::unregister_scp_change_handler ( void *  userdata,
vrpn_FORCESCPHANDLER  handler 
)
inlinevirtual

Definition at line 670 of file vrpn_ForceDevice.h.

◆ updateObjectTrimeshChanges()

◆ updateTrimeshChanges()

void vrpn_ForceDevice_Remote::updateTrimeshChanges ( )

Definition at line 2034 of file vrpn_ForceDevice.C.

References updateObjectTrimeshChanges().

Here is the call graph for this function:

◆ useGhost()

◆ useHcollide()

Member Data Documentation

◆ d_change_list

vrpn_Callback_List<vrpn_FORCECB> vrpn_ForceDevice_Remote::d_change_list
protected

Definition at line 688 of file vrpn_ForceDevice.h.

Referenced by handle_force_change_message().

◆ d_conEnabled

◆ d_conKSpring

vrpn_float32 vrpn_ForceDevice_Remote::d_conKSpring
protected

Definition at line 709 of file vrpn_ForceDevice.h.

Referenced by constraintToForceField(), and setConstraintKSpring().

◆ d_conLineDirection

vrpn_float64 vrpn_ForceDevice_Remote::d_conLineDirection[3]
protected

Definition at line 706 of file vrpn_ForceDevice.h.

Referenced by constraintToForceField(), and setConstraintLineDirection().

◆ d_conLinePoint

vrpn_float32 vrpn_ForceDevice_Remote::d_conLinePoint[3]
protected

Definition at line 705 of file vrpn_ForceDevice.h.

Referenced by constraintToForceField(), and setConstraintLinePoint().

◆ d_conMode

ConstraintGeometry vrpn_ForceDevice_Remote::d_conMode
protected

Definition at line 703 of file vrpn_ForceDevice.h.

Referenced by constraintToForceField(), and setConstraintMode().

◆ d_conPlaneNormal

vrpn_float64 vrpn_ForceDevice_Remote::d_conPlaneNormal[3]
protected

Definition at line 708 of file vrpn_ForceDevice.h.

Referenced by constraintToForceField(), and setConstraintPlaneNormal().

◆ d_conPlanePoint

vrpn_float32 vrpn_ForceDevice_Remote::d_conPlanePoint[3]
protected

Definition at line 707 of file vrpn_ForceDevice.h.

Referenced by constraintToForceField(), and setConstraintPlanePoint().

◆ d_conPoint

vrpn_float32 vrpn_ForceDevice_Remote::d_conPoint[3]
protected

Definition at line 704 of file vrpn_ForceDevice.h.

Referenced by constraintToForceField(), and setConstraintPoint().

◆ d_error_change_list

vrpn_Callback_List<vrpn_FORCEERRORCB> vrpn_ForceDevice_Remote::d_error_change_list
protected

Definition at line 696 of file vrpn_ForceDevice.h.

Referenced by handle_error_change_message().

◆ d_scp_change_list

vrpn_Callback_List<vrpn_FORCESCPCB> vrpn_ForceDevice_Remote::d_scp_change_list
protected

Definition at line 692 of file vrpn_ForceDevice.h.

Referenced by handle_scp_change_message().

◆ m_NextAvailableObjectID

vrpn_int32 vrpn_ForceDevice_Remote::m_NextAvailableObjectID
protected

Definition at line 712 of file vrpn_ForceDevice.h.

Referenced by addObject(), addObjectExScene(), and getNewObjectID().


The documentation for this class was generated from the following files: