Release notes for version 5.2

- added functions CAL_CreateCylinderFromTo and CAL_CreateConeFromTo
- removed preMatrix in Object and Group
- now uses Ogre version 1.9
- switched to Octree scene manager in Ogre
- culling mode to default (was CULL_NONE) because with transparent objects strange artifacts appeared
- removed flashlight and sunlight, now we only have diffuse light from all directions and the option to show/hide shadows (this works independent of the distances)
- major change of how render loop works, GUI is now leading in render updates, this makes GUI more responsive even when heavy scene is rendered
- added CAL_SetCameraState function
- color change of label now also changes color of label line
- fixed bug with label not respecting global visibility setting
- new option to enable/disable scaling inheritance
- new GUI for options pane
- added fixedSize for labels
- improved/simplified GUI update system when group changes

Release notes for version 5.0

Many changes and bug fixes. Some major changes include:
- Position, orientation and scaling are now set by separate functions.
- Support for point clouds added.

Release notes for version 4.x

Too much has changed to list here. Major parts of the core of Callisto have been re-written. The most important changes are the replacement of Maverik by Ogre and the new GUI. The interface has also changed and some functions have been removed/added. The highlights are:
- introduction of labels by means of: CAL_CreateLabel, CAL_SetLabelCaption, CAL_SetLabelColor and CAL_DestroyLabel
- this means that the old definition of "label" (e.g. a name for an object/group) is now called "name"
- introduction of overlays to show user defined information on a fixed position on screen
- CAL_SetObjectColor, CAL_SetObjectTexture, CAL_SetGroupColor and CAL_SetGroupTexture now have a receive shadows option.
- added CAL_SetObjectCastShadows and CAL_SetGroupCastShadows functions
- CAL_Initialization now only has two options: one to enable/disable GUI and one to enable logging
- no default view is shown anymore, views can be added by using CAL_ShowView
- CAL_CreateTriangles now has a texCoordinates option
- CAL_SetViewParams -> the up vector is replaced by a single "roll" parameter
- CAL_AddGroupKeystate -> no longer has option to set color
- CAL_AddObjectKeystate -> no longer has option to set color
- CAL_SetObjectTexture now has alpha option
- CAL_SetKeypressCallback now has a viewID parameter to make the callback view dependent
- CAL_SetObjectSelectCallback now has a viewID parameter but it has no longer has userdef pointer
- CAL_CreatePolygon and CAL_CreatePolygonGroup have been removed (use CAL_CreateTriangles instead)
- CAL_SetObjectActiveSurface is replaced by CAL_SetObjectActiveMaterial, the same goes for the group version

Release notes for version 3.05

- fixed bug for CAL_SetObjectClearance
- fixed bug for visibility, now set by an integer in CAL_CreateGroup
- fixed bug concerning taking screenshot/recording animation of non-visible view
- compiled with Visual Studio .NET 2005
- fixed bug relating changing group collision capability
- added collision check statistics
- further improved collision check statistics
- added CAL_SetGroupLabel to add/change label
- statistics for Closest Pairs and Penetration Depth added
- added export statistics to comma delimited file function
- added time to user drawn callback function
- fixed collision check bug related to cloneGroupRecursive
- fixed bug with setGroupClearance

Release notes for version 2.20

- added CAL_SetTextureFromMem function
- changed palette type of polyline to genuine MAV_COLOUR
- if navigation locked then reserved key pressed also can callback
- backface culling setting now also saved in registry
- SCALGroup now also contains label
- fixed bug concerning maximum number of colours (as used by polyline)
- added visible option to DTD for groups

Release notes for version 2.11

- visibility of groups can now be set during animations
- fixed issue with Solid causing false negatives in collision checks of small objects
- Added a user defined data pointer to the select callback mechanism
- moved documentation of keystates to Animation group
- added the CAL_SaveScene function
- added CAL_INVALID_EXTENSION error message in LoadScene and SaveScene
- added flag that states that the control stack is in the callback function (no suspend waiting)
- fixed wrong check for group existence in interface
- moved documentation of keystates to Animation group

Release notes for version 2.10

- added CAL_LOCKNAVIGATION to view options
- fixed small bug with textures for elevation grid
- fixed polyline VRML export bug
- loop animation setting and bounce animation setting in interface now saved in registry
- optimized code for SetTime and AddKeystates functions
- added texture tiling for elevation grid
- new lighting model
- new icon
- level of detail fades slower
- user drawn object added, only in Maverik, not in Solid
- CAL_SetGroupVisibility now checks for validity of viewID
- SOLID now statically linked (no separate DLL anymore)

Release notes for version 2.00

- fixed bug with closest pairs, when using non-collision capable groups
- added two more options to CAL_CloneGroupRecursive: cloneObjs and keepColCap
- added dialog for creating animations
- fixed bug when moving an object from a non-visible group to a visible group
- changed names of tabs
- added popup menu item to change active surface
- fixed SetActiveSurface bug (not setting subgroups now works)
- added load button to toolbar
- animation buttons are now gray if not applicable
- dynamic groups now appear red in interface
- fixed navigation bug when looking straight down
- interface bug fixed
- elevation grid toegevoegd
- files can now be dropped in a group
- fixed some minor animation interface bugs
- VRML export bug fixed, sometimes no start animation button was available
- minimize to tray added
- interface can now be started minimized
- polylines now can have color and multiple surfaces
- replaced CAL_Set{Group,Object}ObjectCyclic by CAL_Set{Group,Object}MotionOptions
- added option to switch motion interpolation on/off
- fixed bug: CAL_EmptyGroup now also deletes keystates associated to the group
- CAL_EmptyGroup now has a switch for subgroups
- group tree interface can now also be turned off
- changed internal timing for animation in interface
- objects are only updated in SOLID when necessary (up to 25% faster!!)
- object world matrix is cached
- rewritten width/height settings in interface
- fixed small closing bug (thread hanging)
- added callback option for keypresses (CAL_KeypressCallback)
- CAL_PolygonGroup can now exist of 0 polygons
- fixed small issue when importing VRML polygonGroups
- added support for PNG textures
- textures are internally resized, no restrictions on dimensions any more
- fixed bug with caching of changed objects in Solid
- GUI animation thread improved

Release notes for version 1.63

- fixed bug when including non-existing file in XML
- fixed texture import bug for VRML files
- fixed bug with setGroupCollisionCapability
- added recursive option to setGroupVisibility and setGroupCollisionCapability
- added flatten option to XML import
- added statusbar to interface
- setGroupVisibility now suspends visualisation
- fixed bug with navigation along y-axis CTRL+RMouse button
- increased MAV_MAX_MATERIALS to 500000
- changed interface (added toolbar and animation section)
- improved animation options
- improved about screen
- created toolbar for animation control
- screenshot now only captures client area

Release notes for version 1.5

- orientation and scaling are now preserved when adding keystate and not providing them
- added VRML export
- added functions to get the nr of childGroups and objects and to get their ID's
- added texture output VRML
- added polygonGroup and polyline for XML file format
- added support for reading gZipped .wrl files
- added XML export
- fixed window positioning bug when closing Callisto when GUI is minimized
- added trackball navigation
- added background to VRML export
- added camera navigation
- added pos and scale to XML format for polygons and triangles
- added setting of viewpoint from XML
- added export of viewpoint to XML/VRML
- added camera motion and export to XML/VRML
- added textures to polygongroup (only for VRML import)
- now all objects can have pos/quat/scale in XML
- added checkbox for headlight
- improved VRML import
- added CAL_MoveGroup
- groups now can be dragged to other groups in the interface
- fixed bug with frame not ready when doing screenCapture
- compiled with .NET 2003
- added automatic suspend when moving or emptying group

Release notes for version 1.41

- added check when XML file has no/wrong DTD
- fixed small bug when loading VRML scenes
- created "fancy" grid
- added compass navigation -> removed old axes
- viewpoint axes now only visible when moving them
- added animation capabilities
- preceded all return constants witl CAL_
- added "Show scene" button
- added zoom to object function (point and press "z" button)
- include in XML now re-uses current directory setting
- changed CAL_SetGroup/ObjectTranslation to CAL_SetGroup/ObjectPosition
- added possibility to create group collapsed
- changed CAL_DefineGroup to CAL_CreateGroup
- changed the XML file format a little, to make it more straightforward
- fixed bugs in dynamic scenes
- fixed more bugs in dynamic scenes
- changed right mouse button behaviour a little
- removed callistoAdvanced.h, all is now contained in callisto.h
- fixed bug with existing colors when loading a vrml scene
- fixed bug by error line number in XML parser
- added functions to create dynamic groups and objects from code
- fixed bug with loading textures
- CAL_AddKeyState now can be used with a quaternion
- improved transparency

Release notes for version 1.3

- added orthogonal projections
- GUI now also respects suspend visualisation
- TAB now only works when view is active
- every view has its own "TAB" settings
- fixed bug in GUI when empty-ing a selected group
- moved view settings to new dialog
- added eye point and framerate option in Maverik screen
- added option to enable/disable GUI
- added grid
- removed CAL_SetAxesVisible
- added CAL_SetViewOptions
- viewpoint axis is now removed if in alternative navigation mode
- fixed GUI grid checkbox problem
- fixed bug when cloning to same group as source
- activated new render loop so that only frames are rendered when necessary
- cloning now also copies translation/orientation/scaling from group
- added gentle start of motion in alternative mode
- fixed small bug when using SetViewParams on non-visible view
- added new CyberX3D module, parsing of VRML is now *much* faster
- added "drop" function for scenes
- added popup menu for groups

Release notes for version 1.2

- workaround added for SOLID for closest pairs and penetration depth
- implemented multiple surfaces per object
- created completely new group tree-list, much faster
- added better (faster) object counter for groups
- experimented with raycasts to select objects with the mouse
- added include statement to XML file format
- added raycast to select objects with mouse
- added background color to DTD
- improved licht model, added shininess
- bugfixes clone and tree-list
- changed tree-list (again)
- fixed bug (wrong optimalization in project options)
- after adding view, selection in interface is preserved
- double click on group now switches group on/off
- added alternative navigation using TAB key
- bug fix, treeListCtrl now decides if group is in interface
- added fog to Maverik and changed clipping distance
- added thread locks for GUI and Maverik
- fixed bugs for runs without visualisation
- fixed bug for too large surface id
- added new interface elements (fog, clipping, navigation)

Download Callisto (latest)
Version 5.2 (release notes)

Callisto function reference

Getting started
The XML format of Callisto

Previous versions
Version 5.0
Version 4.1b
Version 4.00b
Version 3.05
Version 2.20
Version 2.11
Version 2.10
Version 2.00
Version 1.63
Version 1.5
Version 1.41
Version 1.3
Version 1.2
Version 1.11
Version 1.02
Version 1.0
Version 0.91
Version 0.9
Version 0.8
(c) 2003-2009 Dennis Nieuwenhuisen