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