Overview

  1. Class Hierarchy
  2. Description
  3. Methods
  4. PDb Methods
  5. Custom Widgets
    1. Fl_Generic_Name
    2. Fl_Generic_Transformations

Class Hierarchy

EW_Object
  |
  +---- EW_Generic
          |
          +---- EW_Cube, EW_HeightField, EW_Sphere, EW_Polygon

Description

The base EW_Object class intends to be a completely general set of methods for building 3d objects and group relationships, but a number of classes share some common attributes that don't belong in something as general as EW_Object. The EW_Generic class is a subclass of EW_Object that provides some basic services and properties so that it's easier to build higher level objects.

The EW_Generic class provides a center point, a radius, an x-y-z scaling vector and a Euler rotation vector. It also provides the hooks for bones, materials and user interface support. EW_Generic does not have a gl_draw method and must be subclassed in order to be used in a scene.

Methods

EW_Generic::EW_Generic()
The constructor creates a EW_Generic with a radius of 10.0. The EW_Generic (like most other objects), does not allocate a point in the point_db for itself. The creator of the EW_Generic is responsible for doing this.

EW_bool EW_Generic::uses_point (int p)
Returns true if point p is the center of the EW_Generic.

EW_bool EW_Generic::select_point_down (int p, sgVec3 v)
When the EW_Generic's center point is selected (by a mouse down event), this method is called. The EW_Generic doesn't use this event.

EW_bool EW_Generic::select_point_drag (int p, sgVec3 v)
When the EW_Generic's center point is selected and then dragged (by an FL_DRAG event), this method is called.

void EW_Generic::write (FILE *file, int ind)
This method writes the EW_Generic object to the file specified by the first argument in Extreme Wave's native file format. The second argument is the amount of space to indent this object (in columns) so that the resulting file is pretty-printed.

void EW_Generic::initialize()
This method initializes the class so that it can be used by Extreme Wave. This should be done only once.

void EW_Generic::pdb_register()
This method registers all the available procedures with the procedural database.

PDb Methods

SCM EW_Generic::set_radius(SCM a)

SCM EW_Generic::get_radius(SCM a)

SCM EW_Generic::set_center(SCM a)

SCM EW_Generic::get_center(SCM a)

SCM EW_Generic::set_bone(SCM a)

SCM EW_Generic::get_bone(SCM a)

SCM EW_Generic::set_material(SCM a)

SCM EW_Generic::get_material(SCM a)

SCM EW_Generic::set_scale(SCM a)

SCM EW_Generic::get_scale(SCM a)

SCM EW_Generic::set_rotate(SCM a)

SCM EW_Generic::get_rotate(SCM a)

EW_Generic* EW_Generic::scm2obj(SCM a)
Convert a scheme EW_Generic object to a C++ EW_Generic object.

SCM EW_Generic::scm2obj(EW_Object *a)
Convert an EW_Generic object to a scheme EW_Generic object.

Custom Widgets

Fl_Generic_Input
Fl_Generic_Input is derived from Fl_Frametab and contains a single Fl_Input.

Fl_Generic_Transformations
Fl_Generic_Transformations is derived from Fl_Frametab and contains a collection of Fl_Value_Input widgets.


Last modified: Thu Jun 3 12:35:56 CDT 1999