History for cmgui development notes
changed:
-
Flags and defines
In CMGUI there are a number of flags and #defines, this explains what is
intended by some of these.
* Runtime framework
* UNIX Uses the POSIX runtime for C headers and runtime
* WIN32_SYSTEM Uses the native winapi for C headers and runtime
Would be better to rename this WINAPI now that the WIN32 api is
available in 64bit now too.
* User interface
* MOTIF
* WIN32_USER_INTERFACE
* GTK_USER_INTERFACE
* WX_USER_INTERFACE
Source code directories
This list summarises the status and intention of different source code sections in cmgui.
* api : Contains interfaces that are intended to stablise and present public access.
* cell : Code for a 3D graphical view of a cell - Deprecated but may be revitalised as a separate application
* choose : Implements motif chooser widgets that select objects from LISTS and MANAGERS
* colour : A motif colour chooser widget and a motif value chooser widget : very old
* comfile : comfiles are the scripts used by cmgui.
* command : Implements the native commands of cmgui. Usually a perl interpreter is integrated into the parsing so that cmgui and perl commands can be intermingled.
* computed_field : Field operators. An object orientated interface is implemented entirely in C.
* computed_variable : Contains several redevelopments of the concepts in computed_field. Written in C++ these redevelopments include differential calculations.
* curve : Uses 1D finite elements to implement user editable curves, used by the emoter and can be used by computed fields.
* data : Deprecated code for digitising data.
* database : Skeleton idea never implemented.
* dof3 : Motif widgets for editing 3D positions and Euler rotations
* element : Operations on element objects, including selection, viewing dialog and element_points (embedded grid or collocation point). Does not include loading, saving or implementation of element operations which is in finite_element instead.
* emoter : A tool for scriptable and interactive control of nodes in a mesh using SVD(Singular Value Decomposition)/PCA(Principal Component Analysis).
* finite_element : Implements nodes and elements for cmgui, including reading, writing and evaluation of basis functions. Also contains routines which generate graphical objects from finite_elements.
* general : Macros and functions used throughout the program, such as memory allocation, lists, managers (lists with observers), matrix operations and an image interface.
* graphics : Graphical representations and their conversions into OpenGL.
* gtk : gtk based graphics window and scene viewer.
* help : Deprecated help window
* image_processing : Computed field operators implementing a large number of image processing operations.
* interaction : Provides an abstraction for interactive events selecting and interacting with a 3D scene.
* io_devices : Connects to input devices such as the Faro Arm, Polhemus and Phantom
* icon : Stores the icons(.bmp, .xpm & .icon) used in cmgui-wx.
* link : Deprecated code for connecting to the cm parts of cmiss.
* material : The graphical materials used for rendering objects.
* matlab : An initial start at exporting object interfaces from the api directory into matlab
* matrix : Matrix routines
* motif : Motif specific image routines
* node : Operations on node objects, including selection and viewing dialog. Does not include loading, saving or implementation of element operations which is in finite_element instead.
* perl : Export of object interfaces in api directory to perl
* projection : Deprecated files for coordinate projections
* prompt : Deprecated code implements a dialog to support prompts from the cm link interface.
* python : An initial start at exporting object interfaces from the api directory into matlab
* region : Regions define a domain in which fields are defined. Different regions provide groupings of elements and name spaces for nodes and elements.
* select : Motif widgets that enable the selection of an object from a list. Used for materials and spectrums.
* selection : Maintains a concept of a selected graphical object, such as a node or element.
* three_d_drawing : Implements the underlying graphics contexts to support 3D rendering.
* time : Defines a concept of time and managers which interact with this time and notify objects when the time changes.
* transformation : A 3D position editor
* user_interface : Implements the main loops and event callbacks to enable a application to function.
* utilities : various utility programs.
* view : utilites related to coordinate transformations