Personal tools
You are here: Home / cmgui / Wiki / cmgui development notes
Navigation
Log in


Forgot your password?
 

cmgui development notes

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