VX++ Framework (VxCpp.dll)
Friendly Voxon development with classes
Public Member Functions | List of all members
IVoxieBox Class Referenceabstract

Interface for VoxieBox class. More...

#include <vxCPP.h>

Inheritance diagram for IVoxieBox:
VoxieBox

Public Member Functions

virtual int breath ()=0
 A 'breath' is the 'update loop' for a VX application. A single breath is a single volume. breath() passes in the default voxie_window and input struct.
 
virtual int breath (voxie_inputs_t *input)=0
 Breath() function which can be used with custom input struct.

 
virtual void startFrame ()=0
 Signifies the start of the volumetric frame. Call this once before all draw calls. Prepares the internal vf voxie_frame_t() voxel buffer to receive volumetric content.

 
virtual void endFrame ()=0
 Signifies the end of a volumetric frame. Call this once after all draw calls. Sends the voxel buffer to the volumetric and secondary screen.
 
virtual void quitLoop ()=0
 Forces VoxieBox::breath() to return non-zero on its next call. Usually called when you want the program to quit.
 
virtual void shutdown ()=0
 Frees the VoxieBox.DLL from memory and allows the file to be accessed by other processes.
 
virtual int init ()=0
 First time it is called it initialise the voxie_wind_t. Subsequent calls updates the VoxieBox.dll's voxie window struct.
 
virtual voxie_wind_tgetVoxieWindow ()=0
 returns a pointer to the internal voxie_wind_t struct
 
virtual voxie_frame_tgetVoxieFrame ()=0
 returns a pointer to the internal voxie_frame_t struct
 
virtual void setBorder (bool option, int color=0xffffff)=0
 Toggles a colored border around the perimeter of the volumetric display. Set to false by default. default color is white.
 
virtual void setEnableExitOnEsc (bool option)=0
 Toggles the use of the 'esc' key to escape a Voxon program (by calling VoxieBox::quitLoop()). Set to true by default.
 
virtual void setEnableMouseClipping (bool option)=0
 Toggles mouse clipping (cursor / position is always inside the volume) when using the VoxieBox::getMousePosition or the VoxieBox::drawCursor() functions. Set to false by default.
 
virtual void setEnableNavClipping (bool option)=0
 Toggles nav clipping (cursor / position is always inside the volume) when using the VoxieBox::getNavPosition or the VoxieBox::drawCursor() functions. Set to false by default.
 
virtual void setCleanExitOnQuitLoop (bool option)=0
 Toggles when enabled and VoxieBox::quitLoop() is called the Voxiebox library is freed from memory. Set to true by default.
 
virtual void setJoyInputToXInput ()=0
 Sets VoxieBox class to use the XInput API to read joystick inputs (for modern game controllers).
 
virtual void setJoyInputToDirectInput ()=0
 Set VoxieBox class to use the DirectInput API to read joystick inputs (for older game controllers). Uses joyGetPosEx function.
 
virtual void setEnableLegacyJoyInput (bool option)=0
 Set to true to handle Joy input manually. Disables many of the joy input functions. Set to false by default.
 
virtual void setEnableLegacyTouchInput (bool option)=0
 Set to true to handle Touch input manually. Disables many of the touch input functions. Set to false by default.
 
virtual void setEnableJoyDeadZone (bool option)=0
 Set to true to give access to the touch screen (if disabled touching the screen will always bring up the Voxie Menu)
 
virtual void setEnableNavDeadZone (bool option)=0
 Toggles a dead zone for Space Navigator. Set to true by default.
 
virtual void setEnableLegacyNavInput (bool option)=0
 Set to true to handle Nav input manually. Disables many of the nav input functions. Set to false by default.
 
virtual void setEnableLegacyKeyInput (bool option)=0
 Set to false to disable the VoxieBox class / VxCpp.dll to from managing gamepad / joy input handling. Set to false by default.
 
virtual void setInvertZAxis (bool option)=0
 Inverts the Z axis. (by default - values are at the top of the screen and + values are below). Set to false by default.
 
virtual double getDeltaTime ()=0
 Returns in seconds the delta time(time between volumes) delta time is CPU speed dependent and can be used to make ensure timing is consistent between various computers / systems.
 
virtual double getTime ()=0
 Returns the time (in seconds) from program execution till present.
 
virtual double getVPS ()=0
 Returns the system's current VPS (volumes per second) - need to be +15 VPS for a up/down display to run smoothly.
 
virtual float getAspectX ()=0
 Returns the internal voxie_wind_t's aspect X ratio.
 
virtual float getAspectY ()=0
 returns the internal voxie_wind_t's aspect Y ratio
 
virtual float getAspectZ ()=0
 returns the internal voxie_wind_t's aspect Z ratio
 
virtual point3d getAspect ()=0
 returns the internal voxie_wind_t's aspect ratio values data as a point3d
 
virtual void setAspectX (float newAspectX)=0
 set the internal voxie_wind_t's aspect X ratio
 
virtual void setAspectY (float newAspectY)=0
 set the internal voxie_wind_t's aspect Y ratio
 
virtual void setAspectZ (float newAspectZ)=0
 set the internal voxie_wind_t's aspect Z ratio
 
virtual void setAspect (point3d newAspect)=0
 set the internal voxie_wind_t's aspect ratio values data as a point3d
 
virtual void setDisplay2D ()=0
 Turns off the reciprocating screen and effectively makes the display a '2D' screen. (Works on Voxon hardware only)
 
virtual void setDisplay3D ()=0
 Turns on the reciprocating screen / activates the volumetric display. (Works on Voxon hardware only)
 
virtual void setView (float xMin, float yMin, float zMin, float xMax, float yMax, float zMax)=0
 Sets the 'view' for the volumetric display by default it is the aspect ratio of the voxie window but can be overridden.
 
virtual void setView (point3d LUT, point3d RDB)=0
 Same as setView() but using two point3d for coordinates instead of 6 floats. (LUT = left, up, top value, RDB = right, down, bottom value)
 
virtual void setMaskPlane (float x0, float y0, float z0, float normVx, float normVy, float normVz)=0
 Call after each setView() to mask off a plane of a specified thickness. Used for viewing a 'slice' of a scene.
 
virtual void setGlobalShader (float horizontalAngle, float verticalAngle, float amplitude)=0
 Changes the global normal vector (vw.normhax) for shading. Pass in three 0's to disable.
 
virtual void flushGfx (void)=0
 Flush all graphics commands on internal buffer, causing all graphics commands execute and complete.
 
virtual void freeGfx (const char *fileName)=0
 Frees a filename from VoxieBox.dll internal cache (any filename passed to voxie_draweshtex(), voxie_drawmeshtex_ext(), voxie_drawheimap(), voxie_drawspr())
 
virtual void setProject (int dispNum, int dir, float x, float y, int z, float *xo, float *yo)=0
 Advanced utility function for keystone calibration (used by graphcalc and keystone calibration in voxiedemo)
 
virtual void setLeds (int dispNum, int r, int g, int b)=0
 Set LEDs values on projector hardware. WARNING: Be careful not to overheat projector! Sending over 160 can be risky!
 
virtual void reportVoxieWind (int posX, int posY)=0
 Exposes all the variables from the internal vw voxie_wind_t onto the secondary (touch) screen. For debugging.
 
virtual void reportVoxieFrame (int posX, int posY)=0
 Exposes all the variables from the internal vf voxie_frame_t onto the secondary (touch) screen. For debugging.
 
virtual void debugText (int posX, int posY, int forgroundCol, int backgroundCol, const char *fmt,...)=0
 Display text unto the secondary (touch) screen. Must be called within start and end frame functions. backgroundCol = -1 for transparent.
 
virtual double debugBar (int posX, int posY, double currentVal, double maxVal, double minVal, const char *text, int type)=0
 Draws a vertical bar for help tracking variables onto the secondary (touch) screen. Must be called within the startFrame() endFrame() functions.
 
virtual double showVPS (int posX=15, int posY=525)=0
 Displays volumes per second (volumetric equivalent of 'FPS') and version info on the secondary (touch) screen. Must be called within the startFrame() & endFrame() functions. Returns VPS value.
 
virtual void debugDrawPix (int x, int y, int col)=0
 Draws single pixel on the secondary (touch) screen. Must be called between startFrame() endFrame() functions.
 
virtual void debugDrawHLine (int xStartPos, int xEndPos, int y, int col)=0
 Draws horizontal line on the secondary (touch) screen. Must be called between startFrame() endFrame() functions.
 
virtual void debugDrawLine (float xStartPos, float yStartPos, float xEndPos, float yEndPos, int col)=0
 Draws a line on the secondary (touch) screen. Must be called between startFrame() & endFrame() functions.
 
virtual void debugDrawCircle (int xCenterPos, int yCenterPos, int radius, int col)=0
 Draw circle on the secondary (touch) screen. Must be called between startFrame() & endFrame() functions.
 
virtual void debugDrawBoxFill (int xStartPos, int yStartPos, int xEndPos, int yEndPos, int col)=0
 Draw filled rectangle on the secondary (touch) screen. Must be called between startFrame() & endFrame() functions.
 
virtual void debugDrawCircFill (int xCenterPos, int yCenterPos, int radius, int col)=0
 Draw filled circle on the secondary (touch) screen. Must be called between startFrame() & endFrame() functions.
 
virtual void debugDrawTile (tiletype *source, int xpos, int ypos)=0
 Draw a 2D texture to the secondary (touch) screen. Must be called between startFrame() & endFrame() functions. Sent through a tiletype_t pointer.
 
virtual bool debugCustomFontSet (const char *fileName, int index=-1)=0
 Sets a custom font to be used as an internal tile type to be written to the secondary (touch) screen.
 
virtual void debugCustomFont (int xpos, int ypos, int customFontIndex, const char *fmt,...)=0
 Prints the custom bitmap font to the secondary (touch) screen. Must be called between startFrame() & endFrame() functions.
 
virtual void drawVox (float x, float y, float z, int col)=0
 Renders a single voxel onto the volumetric using a 3 floats for coordinates. Must be called between startFrame() & endFrame() functions.
 
virtual void drawVox (point3d pos, int col)=0
 Renders a single voxel onto the volumetric using a single point3d for coordinates. Must be called between startFrame() & endFrame() functions.
 
virtual void drawBox (float x0, float y0, float z0, float x1, float y1, float z1, int fillmode, int col)=0
 Renders a rectangle / box on the volumetric display using 3 floats for coordinates. 0 position is LEFT, UP, TOP, 1 position is RIGHT, DOWN, BOTTOM. fillmode = 0 dots, 1 lines, 2 surfaces, 3 solid.
 
virtual void drawBox (point3d posLeftUpTop, point3d posRightDownBottom, int fillmode, int col)=0
 Renders a rectangle / box on the volumetric display using 2 point3ds for coordinates. fillmode = 0 dots, 1 lines, 2 surfaces, 3 solid. Must be called between startFrame() & endFrame() functions.
 
virtual void drawCube (point3d *pos, point3d *rVector, point3d *dVector, point3d *fVector, int fillmode, int col)=0
 Renders a cube onto the volumetric display using specified vectors. fillmode = 0 dots, 1 lines, 2 surfaces, 3 solid.
 
virtual void drawSphere (point3d pos, float radius, int fillmode, int col)=0
 Renders a sphere on the volumetric display using 3 floats. fillmode = 0 surface, 1 filled. Must be called between startFrame() & endFrame() functions.
 
virtual void drawSphere (float x, float y, float z, float radius, int fillmode, int col)=0
 Renders a sphere on the volumetric display using 3 floats. fillmode = 0 surface, 1 filled. Must be called between startFrame() & endFrame() functions.
 
virtual void drawLine (float xStartPos, float yStartPos, float zStartPos, float xEndPos, float yEndPos, float zEndPos, int col)=0
 Renders a line on the volumetric display using 6 floats for coordinates. Must be called between startFrame() & endFrame() functions.
 
virtual void drawLine (point3d startPos, point3d endPos, int col)=0
 Renders a line on the volumetric display using point3d for coordinates. Must be called between startFrame() & endFrame() functions.
 
virtual void drawPoly (pol_t *polArray, int ptCount, int col)=0
 Renders a filled polygon. Assumes points are in loop order and coplanar. Must be called between startFrame() & endFrame() functions.
 
virtual void drawMesh (const char *fileName, poltex_t *verticeList, int verticeNum, int *meshList, int meshNum, int flags, int col)=0
 Draws a mesh from a list of vertices can render in as dots, lines, polygons, or filled mesh.
 
virtual void drawMeshExt (const char *fileNam, point3d *VerticeXYZArray, int verticeXYZNum, uvcol_t *verticcUVCArray, int verticeUVCNum, inds_t *indiceArray, int indiceNum, int flags, int col)=0
 Extended version of drawMesh draw by separately passing in the XYZ, UVC and Indices to render in as dots, lines, polygons, or filled mesh.
 
virtual void drawCone (float xStartPos, float yStartPos, float zStartPos, float startRadius, float xEndPos, float yEndPos, float zEndPos, float endRadius, int fillmode, int col)=0
 Renders a cone shape on the volumetric display with rounded ends (also capable of rendering a cylinder/sphere) using 6 floats for coordinates.
 
virtual void drawCone (point3d startPos, float startRadius, point3d endPos, float endRadius, int fillmode, int col)=0
 Renders a cone shape on the volumetric display with rounded ends (also capable of rendering a cylinder/sphere) using 2 point3ds for coordinates.
 
virtual int drawModel (const char *fileName, point3d *pos, point3d *rVector, point3d *dVector, point3d *fVector, int col)=0
 Renders 3D model (.obj, .ply, .stl, .kv6). Displays a filename mesh onto the volumetric display.
 
virtual int drawModelGetExtents (const char *charbuff, extents_t *extentsPtr, int flags)=0
 Returns the extents of a 3D model (.obj, .kv6, .stl etc...)
 
virtual int drawModelExt (const char *fileName, point3d *pos, point3d *rVector, point3d *dVector, point3d *fVector, int col, float forcescale, float fdrawratio, int flags)=0
 Renders 3D model (.obj, .ply, .stl, .kv6) Displays a filename mesh onto the volumetric display. Extended from VoxieBox:drawModel.
 
virtual void drawQuad (const char *filename, point3d *pos, float width, float height, float hAng, float vAng, float twist, int col, float uValue, float vValue)=0
 Renders a 2D textured (.png, .jpg... most image formats) quad (plane) onto the volumetric display. Useful to rendering 2D textures. Must be called between startFrame() & endFrame() functions.
 
virtual float drawHeightMap (char *fileName, point3d *pos, point3d *rVector, point3d *dVector, point3d *fVector, int colorKey, int reserved, int flags)=0
 Renders a heightmap (.jpg, .png or tiletype data) onto the volumetric display.
 
virtual void drawText (point3d *pos, point3d *rVector, point3d *dVector, int col, const char *fmt,...)=0
 Renders a string (printf-style) unto the volumetric display. Must be called between startFrame() & endFrame() functions.
 
virtual void drawTextExt (point3d *pos, point3d *rVector, point3d *dVector, float size, int col, const char *fmt,...)=0
 Renders a string (printf-style) unto the volumetric display additional parameter for font width. Must be called between startFrame() & endFrame() functions.
 
virtual void drawTextSimp (point3d *pos, float textWidth, float textHeight, float hang, float vang, float tilt, int col, const char *fmt,...)=0
 Simple version to render a string (printf-style) unto the volumetric display. Must be called between startFrame() & endFrame() functions.
 
virtual void drawDicom (voxie_dicom_t *vd, const char *gfilnam, point3d *gp, point3d *gr, point3d *gd, point3d *gf, int *animn, int *loaddone)=0
 Renders a DICOM file unto the volumetric display.
 
virtual int getKeyState (int scancode)=0
 Returns a key's input state (0 = no press, 1 = just pressed, 3 = held down) see vxInputTypes.h::Keys for scancodes.
 
virtual int getKeyIsDown (int scancode)=0
 Returns 1 if the scancode's key is held down (pressed). For scancodes see vxInputTypes.h::Keys.
 
virtual int getKeyOnDown (int scancode)=0
 Returns 1 if the scancode's key is just pressed. Requires VoxieBox::setEnableLegacyKeyInput() set to false to work. For scancodes see vxInputTypes.h::Keys.
 
virtual int getKeyOnUp (int scancode)=0
 Returns 1 if the scancode's key is just released. Requires VoxieBox::setEnableLegacyKeyInput() set to false to work. For scancodes see vxInputTypes.h::Keys.
 
virtual double getKeyDownTime (int scancode)=0
 Return the time (in seconds) The scancode's key has been held down for requires VoxieBox::setEnableLegacyKeyInput() to be set to false to work.
 
virtual int getKeyStream ()=0
 Returns buffered ASCII keyboard input. Requires setEnableLegacyKeyInput is set to true.
 
virtual int getKeyStreamScanCode ()=0
 Similar to getKeyStream() but returns only the scancode of the keystate of a streaming state. Returns 0 if no more keys are in the stream. Requires setEnableLegacyKeyInput is set to true.
 
virtual voxie_keyboard_history_t getKeyHistory ()=0
 returns internal voxie_keyboard_history_t struct which holds the keyboard input history.

 
virtual void reportKeyboard (int posX, int posY)=0
 Reports the state of the keyboard on to the secondary (touch) screen. Used to help with debugging.
 
virtual int getMouseXDelta ()=0
 Returns the internal mouse's X delta movement. Reads from internal (in) voxie_input_t.
 
virtual int getMouseYDelta ()=0
 Returns the internal mouse's Y delta movement. Reads from the internal (in) voxie_input_t.
 
virtual int getMouseZDelta ()=0
 Returns the internal mouse's Z delta movement. Reads from the internal (in) voxie_input_t.
 
virtual point3d getMouseDelta ()=0
 Returns the internal mouse's X,Y and Z delta movements as a point3d. Reads from the internal (in) voxie_input_t.
 
virtual point3d getMousePosition ()=0
 Returns the internal mouse's X,Y and Z position as a point3d.
 
virtual void setMousePosition (point3d newPos)=0
 Overrides internal mouse position with a new point3d position.
 
virtual void setMouseXYSensitivity (float newAmount)=0
 Set the Mouse's X and Y sensitivity. 0.001 is default. (0.0001 = low sensitive, 0.9 = extremely sensitive) Mouse movements work in integers the amount is scaled down.
 
virtual void setMouseZSensitivity (float newAmount)=0
 Set the Mouse's Z sensitivity. 0.0005 is default. (0.0001 = low sensitive, 0.9 = extremely sensitive) Mouse movements work in integers the amount is scaled down.
 
virtual void setMouseDoubleClickThreshold (double timeThreshold)=0
 Set the time between mouse clicks to register a 'double click' (which triggers a true setting for getMouseDoubleClick())
 
virtual double getMouseDoubleClickThreshold ()=0
 Returns the mouse double click threshold. (how quickly 2 mouse clicks signify a 'double click'). Presented in seconds.
 
virtual float getMouseXYSensitivity ()=0
 Returns the current mouse XY sensitivity.
 
virtual float getMouseZSensitivity ()=0
 Returns the current mouse Z sensitivity.
 
virtual int getMouseButtonState ()=0
 Returns the internal mouse button state. Reads from the internal (in) voxie_input_t.
 
virtual int getMousePrevButtonState ()=0
 Returns the internal mouse previous button state. Reads from the internal (in) voxie_input_t.
 
virtual int getMouseButtonIsDown (int buttonCode)=0
 Returns the state of mouse's buttonCode. 1 if currently pressed down and 0 if not being pressed. (buttonCodes are 0 for left, 1 for right, 2 for center buttons)
 
virtual int getMouseButtonOnDown (int buttonCode)=0
 Returns the state of mouse's buttonCode. returns 1 if button has been pressed during this update frame otherwise 0 if not just pressed. (buttonCodes are 0 for left, 1 for right, 2 for centre buttons)
 
virtual int getMouseButtonOnUp (int buttonCode)=0
 checks to see if desired MoustButton has been just released ('on up'). (buttonCodes are 0 for left, 1 for right, 2 for center buttons)
 
virtual double getMouseButtonDownTime (int buttonCode)=0
 Returns the mount of time (in seconds) a mouse's button has been pressed. (buttonCodes are 0 for left, 1 for right, 2 for center buttons)

 
virtual int getMouseDoubleClick (int buttonCode)=0
 Returns true if particular buttonCode has been clicked twice within the double click threshold.
 
virtual void reportMouse (int posX, int posY, bool showCursor=true)=0
 Reports mouse input state information onto secondary (touch) screen.
 
virtual voxie_inputs_t getMouseState ()=0
 returns the internal (in) voxie_inputs_t struct.
 
virtual void setMouseState (voxie_inputs_t newMouse)=0
 Override the internal voxie_input_t mouse state.
 
virtual void drawCursor (point3d *pos, int inputType, int inputID, int col)=0
 Draws a cursor unto the volumetric display at the position specified.

 
virtual void setMouseOrientation (int orientation)=0
 Change the orientation of the users intended position when using the mouse. At what side are they facing towards the volumetric display?
 
virtual int getMouseOrientation ()=0
 Returns the orientation set for the mouse.
 
virtual void AddTouchKeyboardLayout (const touchkey_t *touchkey, int sizeOfArray)=0
 Add custom touch keys. (enable touch keyboard under 'Misc' menu tab)
 
virtual int touchManualRead (int *touchIndex, int *xVal, int *yVal, int *packetState)=0
 Read touch inputs - This function should be called in a while loop until 0 is returned.
 
virtual void setEnableTouchInput (bool option)=0
 Enables the touch screen to be used as a input device. Set this to true if you want to use the touch screen in your own VX applications.
 
virtual int getTouchDeltaX (int index)=0
 Returns the touch movement delta of the X position by index register. Use index register -1 for global delta.
 
virtual int getTouchDeltaY (int index)=0
 Returns the touch movement delta of the Y position by index register. Use index register -1 for global delta.
 
virtual int getTouchPosX (int index)=0
 Returns the touch X position by index register. Run using a for loop with TOUCH_MAX_INPUT to check all inputs.
 
virtual int getTouchPosY (int index)=0
 Returns the touch Y position by index register. Run using a for loop with TOUCH_MAX_INPUT to check all inputs.
 
virtual int getTouchState (int index)=0
 Returns the touch state requires the touch point index number. (0 = no touch, 1 = touch is down, 2 = is held, 3 = just pressed, 4 = on up)
 
virtual float getTouchRotationDelta ()=0
 Returns in radians the touch rotation delta when a pinch is active range is usually 0.2 and 0.01.
 
virtual float getTouchDistanceDelta ()=0
 Returns the touch rotation delta when a pinch is active range is usually 0.2 and 0.01.
 
virtual int getTouchPressState (point2d TLpos, point2d BRpos, bool drawCollision=false)=0
 Returns a positive number if a touch event happens within the collision box (0 = no touch, 1 = touch is down, 2 = is held, 3 = just pressed, 4 = on up)
 
virtual int getTouchPressStateCir (point2d CirPos, float radius, bool drawCollision=false)=0
 Returns a positive number if a touch event happens within the collision circle (0 = no touch, 1 = touch is down, 2 = is held, 3 = just pressed, 4 = on up)
 
virtual touchInput_tgetTouchInputStruct ()=0
 Returns a the internal touchInput_t pointer

 
virtual void setTouchInputStruct (touchInput_t *newTouchInput)=0
 Updates the internal touchInput_t struct.
 
virtual void setTouchSensitivity (float newSensitivityValue)=0
 Sets the touch sensitivity value 1 is default. the higher the value the more sensitive.

 
virtual float getTouchSensitivity ()=0
 Returns the touch sensitivity setting/.
 
virtual void enableTouchFocusPinch (bool choice)=0
 Disables / enables the touches focus pinch.
 
virtual int getTouchPressIndex (point2d TLpos, point2d BRpos, bool drawCollision=false)=0
 Returns the touch point index if a touch event happens within the collision box.
 
virtual int getTouchPressIndexCir (point2d CirPos, float radius, bool drawCollision=false)=0
 Returns the touch point index if a touch event happens within the collision circle.
 
virtual int getTouchCurrentNoPress ()=0
 Returns the number of current touch presses / points.
 
virtual void reportTouch (int posX, int posY)=0
 Reports the state of the touch input on to the secondary (touch) screen.
 
virtual voxie_xbox_t getJoyStateRaw (int controllerID)=0
 Returns theg ame controller's input state as voxie_xbox_t structure. Use the controllerID to determine which one (0 = 1st, 1 = 2nd etc...)
 
virtual int updateJoyStateRaw (int controllerID, voxie_xbox_t *vx)=0
 
virtual int getJoyButtonState (int controllerID)=0
 returns the game controllers button state. See vxInputTypes::JoyButtonCodes for details.
 
virtual void setJoyVibrate (int controllerID, float leftMotorSpeed, float rightMotorSpeed)=0
 Activates vibration motors in XBox controller. XInput controllers only. To stop Be sure to call again with leftMotorSpeed=0.f, rightMotorSpeed=0.f!
 
virtual int getJoyButtonIsDown (int controllerID, int joyButtonCode)=0
 Returns 1 if controller's button is pressed down. See vxInputTypes::JoyButtonCodes for reference on Joy Button Codes

 
virtual int getJoyButtonOnUp (int controllerID, int joyButtonCode)=0
 Returns 1 if controller's button is just released. See vxInputTypes::JoyButtonCodes for reference on Joy Button Codes.
 
virtual int getJoyButtonOnDown (int controllerID, int joyButtonCode)=0
 Returns 1 if controller's button is just pressed. See vxInputTypes::JoyButtonCodes for reference on Joy Button Codes.
 
virtual double getJoyButtonDownTime (int controllerID, int joyButtonCode)=0
 Returns a value in seconds of how long a controller's button has been held down for. Requires setEnableLegacyJoyInput() to be set to false to work.

 
virtual float getJoyAnalogAxisValue (int controllerID, int axis)=0
 Returns a single analog axis (control stick) from a game controller. Value as an float range between -1 and 1, 0 is centered.
 
virtual point2d getJoyAnalogAxisValueP2D (int controllerID, int stick)=0
 Returns the analog axis (control stick) from a game controller. Value as an Point2d range between -1 and 1, 0 is centered.
 
virtual float getJoyTriggerValue (int controllerID, int joyTriggerCode)=0
 Returns a controllers analog trigger value. 0 = 0% pressed ... 1 = 100% pressed. Presented as a float.
 
virtual int getJoyNum ()=0
 Returns the number of USB game controllers detected by the system.
 
virtual void reportJoy (int posX, int posY)=0
 Reports the state of the game controllers on to the secondary (touch) screen.
 
virtual void setJoyDeadZone (double deadZoneValue)=0
 Sets the internal dead zone value for game controllers. (dead zone is the area where not input is detected). Value between 0 and 1. 0 = no deadzone. 1 = all deadzone. default is 0.3;.
 
virtual double getJoyDeadZone ()=0
 Returns the internal gamepad's dead zone value.
 
virtual void setJoyOrientation (int controllerID, int orientation)=0
 Change the orientation of the users intended position when using a game controller. At what side are they facing towards the volumetric display.
 
virtual int getJoyOrientation (int controllerID)=0
 Returns the orientation set for a specific game controller.
 
virtual voxie_nav_t getNavStateRaw (int spaceNavID)=0
 Returns the 3DConnexion Space Navigator controller state as voxie_nav_t structure. Use the SpaceNavID to determine which one (0 = 1st, 1 = 2nd etc...)
 
virtual int updateNavStateRaw (int spaceNavID, voxie_nav_t *nav)=0
 Copies 3DConnexion Space Navigator controller state to voxie_nav_t structure. Used to updated SpaceNavs if setEnableLegacyNavInput() is set to true.
 
virtual int getNavNum ()=0
 Returns the number of SpaceNavs detected by the system. Note : SpaceNavs are only detected after first movement.
 
virtual void reportNav (int posX, int posY, bool showCursor=true)=0
 Reports all SpaceNav input state onto the secondary (touch screen)
 
virtual int getNavButtonState (int spaceNavID)=0
 
virtual int getNavPrevButtonState (int spaceNavID)=0
 
virtual point3d getNavAngleDelta (int spaceNavID)=0
 Returns the Space Nav's angle input delta as a point3d. Range between -1 and 1. 0 being no change.
 
virtual point3d getNavDirectionDelta (int spaceNavID)=0
 Returns the Space Nav's direction input delta as a point3d. Range between -1 and 1. 0 being no change.
 
virtual point3d getNavPosition (int spaceNavID)=0
 Returns a point3d of the Nav's tracked position. Used primary when the Space Nav is being used as a cursor.
 
virtual float getNavDirectionDeltaAxis (int spaceNavID, int axis)=0
 Returns a single axis of a Space Nav's direction delta (range is -1 to 1, 0 is centered). Axis 0 = x, 1 = y, 2 = z.
 
virtual float getNavAngleDeltaAxis (int spaceNavID, int axis)=0
 Returns a single axis of a spaceNav's angle delta (range is -1 to 1, 0 is centered). Axis 0 = x, 1 = y, 2 = z.
 
virtual int getNavButtonIsDown (int spaceNavID, int buttonCode)=0
 Returns 1 if particular Space Nav's button is being pressed. Button codes are based on vxInputTypes.h::NavButton(). 0 = left button, 1 = right button.
 
virtual int getNavButtonOnUp (int spaceNavID, int buttonCode)=0
 Returns 1 if particular Space Nav's button has been just released from being held ('on up').
 
virtual int getNavButtonOnDown (int spaceNavID, int buttonCode)=0
 Returns 1 if particular Space Nav's button has just been pressed. Button codes are based on vxInputTypes.h::NavButton(). 0 = left button, 1 = right button.
 
virtual double getNavButtonDownTime (int spaceNavID, int buttonCode)=0
 Returns in seconds how long a Space Nav's button has been held down, otherwise returns a 0.
 
virtual void setNavDoubleClickThreshold (double timeThreshold)=0
 Set the time between Space Nav clicks to register a 'double click' (which triggers a true setting for getNavDoubleClick())
 
virtual double getNavDoubleClickThreshold ()=0
 Returns the internal Space Nav double click threshold value. (Used to determine if a 'double click' has been detected)
 
virtual int getNavDoubleClick (int spaceNavID, int buttonCode)=0
 Returns 1 if particular Space Nav's buttonCode has been clicked twice within the double click threshold.
 
virtual void setNavDeadZone (double deadZoneValue)=0
 Set the internal deadZone for Space Navigators.
 
virtual void setNavSensitivity (int spaceNavID, double newAmount)=0
 Set the Space Nav's sensitivity. Used to manage the Space Nav being used as a cursor. 0.0025 is default. Higher values increase sensitivity

 
virtual double getNavSensitivity (int spaceNavID)=0
 
virtual double getNavDeadZone ()=0
 returns the internal dead one value for the Space Navigator
 
virtual void setNavOrientation (int spaceNavID, int orientation)=0
 set the orientation of the user's intended position when using a Space Nav
 
virtual int getNavOrientation (int spaceNavID)=0
 returns the orientation set for a specific Space Nav
 
virtual void menuReset (int(*menu_update)(int id, char *st, double val, int how, void *userdata), void *userdata, char *bgImageFileName)=0
 Function used to reset the voxie menu and set a new custom menu update function (the menu which is on the secondary touch screen)
 
virtual void menuAddTab (const char *st, int x, int y, int xs, int ys)=0
 Add a custom menu tab on secondary (touch) screen menu (NOTE: there's only space for 2 more tabs on the 7" 1024x600 LCD screen)
 
virtual void menuAddItem (const char *st, int x, int y, int xSize, int ySize, int id, int type, int state, int col, double startingVal, double minVal, double maxVal1, double minStepVal, double majStepVal)=0
 Add an item to a menu tab.
 
virtual void updateMenu (int id, const char *st, int state, double v)=0
 Once the menu is created, use this function to update a string, button status, or slider value.
 
virtual int playSound (const char *fileName, int sourceChannel, int volumeLeft, int volumeRight, float playBackSpeed)=0
 Plays a sound (can be WAV, FLAC, MP3, M4A)
 
virtual void updateSound (int handleID, int sourceChannel, int volumeLeft, int volumeRight, float playBackSpeed)=0
 Updates or adjusts a currently playing sound. Used for muting a current sound or adjusting settings.

 
virtual void updateSoundPosition (int handleID, double second, int seekType=SEEK_SET)=0
 Updates or currently playing sound. to a new position. Seek types are SEEK_SET (0), SEEK_CUR (1) & SEEK_END (2) - values based on fseek()

 
virtual void setAudioPlayCallBack (void(*userplayfunc)(int *sampleBuffer, int sampleRate))=0
 Define a custom audio callback function to play PCM raw audio data.
 
virtual void setAudioRecordCallBack (void(*userrecfunc)(int *sampleBuffer, int sampleRate))=0
 Define a custom audio callback function to record PCM audio data - see VXBeeper demo (under modules) for a demo on how to use this function.
 
virtual void mountZip (const char *fileName)=0
 Extracts and loads a .zip file into memory.
 
virtual void captureVolumeAsPly ()=0
 Causes a screen capture of the volumetric buffer to occur on the next frame. Captured as a PLY file.
 
virtual void captureVolumeAsPng ()=0
 Causes a screen capture of the volumetric buffer to occur on the next frame. Captured as a PNG file.
 
virtual void captureVolume (const char *filnam, int volcap_mode, int target_vps)=0
 Allows capture and recording of volumetric screen. a screen capture of the volumetric buffer to occur on the next frame. Captures.
 
virtual __int64 getVxCppVersion ()=0
 returns a time stamp of the compile date of VxCpp.dll expressed as an __int64. (format: YYYYMMDDHHmmss)
 
virtual HINSTANCE getVoxieBoxDLLHandle ()=0
 Returns the handle HINSTANCE of the VoxieBox.DLL which might be need access by other DLLs (such as DemView_API)
 
virtual int scrollCol (int offSet=0)=0
 Returns a scrolling color as an RGB hexadecimal value.
 
virtual void setColScrollSpeed (double speed)=0
 Set the speed of the internal color scroller default is 0.1. Value is how long in seconds before a color change.
 
virtual int clipInsideVolume (point3d *pos, float radius=0)=0
 Clips a point to ensures it is within the volumes display's bounds.
 
virtual int pointSame (point3d *a, point3d *b, point3d accuracy)=0
 Compare two point3d with a degree of accuracy. returns true if the two points are the same within the accuracy amount specified.
 
virtual int pointSame (point2d *a, point2d *b, point2d accuracy)=0
 Compare two point2d with a degree of accuracy. returns true if the two points are the same within the accuracy amount specified.
 
virtual int colorHexDivide (int color, float divideAmount)=0
 Divides (dims) a RGB hexadecimal color value by a division number (use this as when using drawModel() the color values are a 4th of the range)
 
virtual int tweenCol (int color, int speed, int destcolor)=0
 Tweens a color to the destination color. good for fade outs or tweens.
 
virtual int brightenCol (int color, int amount)=0
 
virtual int randomCol ()=0
 Returns a random color based on the RANDOM_COLOR defined in vxDataTypes.h.
 
virtual point3d randomPos ()=0
 Returns a random position within the VX display.
 
virtual int sphereCollideChk (point3d *sphereAPos, double sphereARadius, point3d *sphereBPos, double sphereBRadius, bool showCollisionBox=false)=0
 Sphere collision check. Check if two spheres are touching. Returns 1 if collision is found otherwise returns 0.
 
virtual int boxInsideCollideChk2D (point2d *TLpos, point2d *BRpos, point2d *collisionPos, bool showCollisionBox=false)=0
 Within box collision check 2D. Checks if a X Y position is within a collision box. two boxes are touching. Returns 1 if collision is found otherwise returns 0.
 
virtual int boxCollideChk (point3d *LUTpos1, point3d *RDBpos1, point3d *LUTpos2, point3d *RDBpos2, bool showCollisionBox=false)=0
 Box collision check. Check if two boxes are touching. Returns 1 if collision is found otherwise returns 0.
 
virtual int boxInsideCollideChk (point3d *LUTpos, point3d *RDBpos, point3d collisionPos, bool showCollisionBox=false)=0
 Within box collision check. Check if a position is inside a collision box. boxTLU = Top, Left, Up, boxBRD = bottom, right, down.
 
virtual int ciricle2DChk (point2d *circlePos, float radius, point2d *collisionPos, int showCollisionBox=0)=0
 Within circle collision check. Check if a position is inside a collision circle.
 
virtual int moveToPos (point3d *currentPos, point3d destinationPos, float speed, float accuracy)=0
 Updates/"moves" a point from the current position towards the destination point. Returns 1 if currentPos collides with destinnationPos otherwise returns a 0.

 
virtual void rotVex (float angInRadians, point3d *a, point3d *b)=0
 Rotate two point3d vectors a & b around their common plane, by angle expressed in radians.
 
virtual void rotVexD (float angInDegrees, point3d *a, point3d *b)=0
 Rotate two point3d vectors a & b around their common plane, by angle expressed in degrees.
 
virtual void rotVex (float angInRadians, point2d *a, point2d *b)=0
 Rotate two point2d vectors a & b around their common plane, by angle expressed in radians.
 
virtual void rotVexD (float angInDegrees, point2d *a, point2d *b)=0
 Rotate two point2d vectors a & b around their common plane, by angle expressed in degrees.
 
virtual void indicesCpyXYZ_2_UVC (inds_t *indiceArray, int indiceCount)=0
 Helper function for VoxieBox::DrawMeshExt copies indices.xyz values to indices.uvc values.
 
virtual int _kzaddstack (const char *fileName)=0
 Internal zip file management function - global function (these not multi-thread safe!)
 
virtual void _kzuninit ()=0
 Internal zip file management function - global function (these not multi-thread safe!)
 
virtual kzfind_t * _kzfindfilestart (const char *st)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual int _kzfindfile (kzfind_t *find, kzfileinfo_t *fileinfo)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access. More...
 
virtual kzfile_t * _kzsetfil (FILE *fileName)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual kzfile_t * _kzopen (const char *)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual kzfile_t * _kzopen_ext (const char *, const char *, const char *)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual unsigned int _kzread (kzfile_t *kzfile, void *buffer, unsigned int leng)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual unsigned int _kzfilelength (kzfile_t *kzfile)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual unsigned int _kztell (kzfile_t *kzfile)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual int _kzseek (kzfile_t *kzfile, int offset, int whence)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual int _kzgetc (kzfile_t *kzfile)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual int _kzeof (kzfile_t *kzfile)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual void _kzclose (kzfile_t *kzfile)=0
 Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
 
virtual int _kpgetdim (const char *buffer, int nby, int *xsiz, int *ysiz)=0
 Internal image decoder function. All 'kp...' functions are to do with Ken's picture library (Low-level PNG/JPG decoding functions)
 
virtual int _kprender (const char *buffer, int nby, INT_PTR fptr, int bpl, int xsiz, int ysiz, int xoff, int yoff)=0
 Internal image decoder function. All 'kp...' functions are to do with Ken's picture library (Low-level PNG/JPG decoding functions)
 
virtual int _kpzload (const char *fileName, INT_PTR *fptr, INT_PTR *bpl, INT_PTR *xsiz, INT_PTR *ysiz)=0
 Internal image decoder function. All 'kp...' functions are to do with Ken's picture library (High-level (easy) picture loading function)
 

Detailed Description

Interface for VoxieBox class.

Contains all the methods and attributes needed to encapsulate Voxiebox.dll into its the VoxieBox class these methods and attributes are abstract and are overwritten by the VoxieBox class on runtime.

For detailed attributes and methods information see the member information on

See also
VoxieBox

Member Function Documentation

◆ _kzfindfile()

virtual int IVoxieBox::_kzfindfile ( kzfind_t *  find,
kzfileinfo_t fileinfo 
)
pure virtual

Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.

Returns
1:found, 0:~found, NOTE:keep calling until ret 0 else mem leak

Implemented in VoxieBox.

◆ getNavSensitivity()

virtual double IVoxieBox::getNavSensitivity ( int  spaceNavID)
pure virtual
Returns
returns the current Space Nav internal sensitivity setting

Implemented in VoxieBox.


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