![]() |
VX++ Framework (VxCpp.dll)
Friendly Voxon development with classes
|
Interface for VoxieBox class. More...
#include <vxCPP.h>
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_t * | getVoxieWindow ()=0 |
| returns a pointer to the internal voxie_wind_t struct | |
| virtual voxie_frame_t * | getVoxieFrame ()=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_t * | getTouchInputStruct ()=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) | |
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
|
pure virtual |
Internal zip file management function. All 'kz...' functions are to do with Ken's zip file access.
Implemented in VoxieBox.
|
pure virtual |
Implemented in VoxieBox.