45extern"C" osg::Vec3 ControlActualPositionReturnCleanPosition(osg::Vec3 Actual); //this function check if phantom position is not close to workspace edge -> return closest point on edge
46
47extern"C"boolControlActualPosition(osg::Vec3 Actual); //this function check if phantom position is not close to workspace edge -> return true if inside, false if beyond border
48
49//vibration generator
50extern"C" osg::Vec3 Vibrate(float frequency, float amplitude, osg::Vec3 direction); //update vector so it will produce vibration movement with proper direction and amplitude with preset frequency
51
52//Transform function from computed force (from any algorythm) to (0,maxf) by special function (logarithmic)
53extern"C" osg::Vec3 ForceTransformFunction(float maxforce, osg::Vec3 force); //transform function (linear) to log(f);result in (0,maxforce)
54
55//this function is called by cylinder etc., it will check if t param is in (0,1) and return 1 if in,
56//close (defined by SMOOTHING_RADIUS) to value 0, or 1 it will produce some smooth increase/decrease (for better connection of two fixtures)
57extern"C"floatSmoothEnding(float t); //t is "time" param on vector