00001
00003
00004
00005
00009
00011 #ifndef __HLFEEDBACKSHAPE_H__
00012 #define __HLFEEDBACKSHAPE_H__
00013
00014 #include "X3DGeometryNode.h"
00015 #include "H3DSurfaceNode.h"
00016 #include "HapticShape.h"
00017 #include "HLShape.h"
00018
00019
00020 namespace H3D {
00021
00027 class H3DAPI_API HLFeedbackShape: public HapticShape, public HLShape {
00028 public:
00029 #ifndef HAVE_OPENHAPTICS
00030 typedef int HLint;
00031 typedef enum { HL_FRONT, HL_BACK, HL_FRONT_AND_BACK } HLenum;
00032 #endif
00033
00035 HLFeedbackShape( X3DGeometryNode *_geometry,
00036 H3DSurfaceNode *_surface,
00037 const Matrix4f &_transform,
00038 HLint _nr_vertices = -1,
00039 HLenum _touchable_face = HL_FRONT_AND_BACK,
00040 bool _use_haptic_camera = true ):
00041 HapticShape( _geometry, _surface, _transform ),
00042 nr_vertices( _nr_vertices ),
00043 touchable_face( _touchable_face ),
00044 use_haptic_camera( _use_haptic_camera ) {}
00045
00048 virtual void hlRender( HLHapticsDevice *hd );
00049 protected:
00052 HLint nr_vertices;
00053
00055 HLenum touchable_face;
00056
00058 bool use_haptic_camera;
00059 };
00060 }
00061
00062 #endif