This page was created by the IDL library routine
mk_html_help. For more information on
this routine, refer to the IDL Online Help Navigator
or type:
? mk_html_help
at the IDL command line prompt.
Last modified: Sun Oct 26 20:43:12 2008.
NAME:
CATOBJECTVIEW
PURPOSE:
This object implements a methodology for displaying object graphics in
the Catalyst Object Library. The object contains an IDLgrView or IDLgrScene
object, written in object graphics that can be displayed in an ODrawWidget
object. If fact, the ODrawWidget will *only* accept a CATOBJECTVEW object.
AUTHORS:
FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING
1645 Sheely Drive 18 The Green South
Fort Collins Warborough, Oxon
CO 80526 USA OX10 7DN, ENGLAND
Phone: 970-221-0438 Phone: +44 (0)1865 858279
E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk
SUPERCLASSES:
CATATOM
CATCONTAINER
IDL_CONTAINER
SYNTAX:
objectView = OBJ_NEW ('CATOBJECTVIEW')
CLASS_STRUCTURE:
class = { CATOBJECTVIEW, $ ; The object class definition.
INHERITS CATATOM, $ ; Part of the Catalyst Object Library.
_no_destroy: 0L, $ ; A flag that governs the destroying of theView.
_theView: Obj_New(), $ ; The IDLgrView or IDLgrScene object to be displayed.
}
MODIFICATION_HISTORY:
Written by: David Fanning, 30 June 2003.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATOBJECTVIEW::CLEANUP
PURPOSE:
This is the CATOBJECTVIEW object class destructor method.
SYNTAX:
Called automatically when the object is destroyed.
ARGUMENTS:
None.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATOBJECTVIEW::CREATEVIEW
PURPOSE:
This method is a dummy method. Subclassed objects should override this method
to construct the IDLgrView object that is stored in the object
SYNTAX:
aView -> CreateView
ARGUMENTS:
None.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATOBJECTVIEW::EVENTHANDLER
PURPOSE:
A dummy event handler method to catch widget events. If events come here, they
are simply displayed. If you wish to use this event handler, sub-class the CatObjectView
object and write your own event handler.
SYNTAX:
Called from the CATEVENTDISPATCHER utility routine.
ARGUMENTS:
Event: The event structure from a widget event.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATOBJECTVIEW::GETPROPERTY
PURPOSE:
This method enables the getting of the CATOBJECTVIEW object properties.
SYNTAX:
CATOBJECTVIEW -> GetProperty ...
ARGUMENTS:
None.
KEYWORDS:
NO_DESTROY: The current state of the NO_DESTROY flag.
VIEW: The IDLgrView or IDLgrScene object contained in the object.
_EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATOBJECTVIEW::INIT
PURPOSE:
This method is called upon object creation.
SYNTAX:
Called automatically when the object is created thus:
viewObject = OBJ_NEW ('CATOBJECTVIEW')
ARGUMENTS:
theView: An object of type IDLgrView, IDLgrScene, IDLgrModel, or IDLgrGraphic.
If this is not a view or scene, the appropriate heirarchy will be automatically
constructed. The viewplane rectangle for all objects that don't contain a view
is [0,0,1,1] with the default EYE distance. The view object will be destroyed
when the CatObjectView object is destroyed unless the NO_DESTROY keyword is set.
KEYWORDS:
NO_DESTROY: If this keyword is set, the view object (theView) will not be destroyed when the
CatObjectView object is destroyed.
_EXTRA: Any keyword appropriate for the INIT method of the superclass object. If theView
is not an IDLgrView object, this keyword can also be used to pass DLgrView keywords
to the created IDLgrView object.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATOBJECTVIEW::RESIZE
PURPOSE:
This method resizes the object. Subclass members should override this method.
SYNTAX:
self -> Resize, xsize, ysize
ARGUMENTS:
xsize: The new X size.
ysize: The new Y size.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATOBJECTVIEW::SETPROPERTY
PURPOSE:
This method enables the setting of the CATOBJECTVIEW object properties.
SYNTAX:
CATOBJECTVIEW -> SetProperty ...
ARGUMENTS:
None.
KEYWORDS:
NO_DESTROY: If this keyword is set, the view object (theView) will not be destroyed when the
CatObjectView object is destroyed.
VIEW: Set the IDLgrView or IDLgrScene object.
_EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATOBJECTVIEW::SETVIEW
PURPOSE:
This method is a quick way to set the IDLgrView object into the object.
SYNTAX:
aCatObjView -> SetView, theView
ARGUMENTS:
theView.
KEYWORDS:
VIEW: Set the IDLgrView or IDLgrScene object.
(See C:\IDL\Catalyst\source\ographics\catobjectview__define.pro)
NAME:
CATSUFACE::EVENTHANDLER
PURPOSE:
This method is the event handler for the CatSurface object.
SYNTAX:
The method is called automatically when a widget generate an event..
ARGUMENTS:
event: The event structure from the object that caused the event.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::CLEANUP
PURPOSE:
This is the CATSURFACE object class destructor method.
SYNTAX:
Called automatically when the object is destroyed.
ARGUMENTS:
None.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::CONTROLPANEL
PURPOSE:
This method creates a control panel for the CATSURFACE object.
SYNTAX:
theObject -> ControlPanel, baseObject
ARGUMENTS:
baseObject: The object reference of a base widget for this control to
be added to. If not supplied, the control panel will be in a
self contained window (i.e., a TOPLEVELBASE object).
KEYWORDS:
_EXTRA: Any keywords appropriate for the CatControlPanel::INIT method.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::CREATE_VEIW
PURPOSE:
This method creates the IDLgrView object that will be displayed in the oDrawGraphics window.
SYNTAX:
theView = self -> Create_View()
ARGUMENTS:
data: A 2D array of surface data.
x: A vector of X data values.
y: A vector of Y data values.
KEYWORDS:
COLORTABLE: Set this keyword to a number between 0 and 40 to select one
of the pre-selected IDL color tables for elevation shading.
ELEVATION_SHADING: Set this keyword to put elevation shading into effect.
EXACT: Set this keyword to a one-, two-,or three-element array to set exact axis
scaling for the X, Y, and Z axes, respectively. If Exact is a one-element array,
all three axes are set to the same value. For example, to set the X axis to
exact scaling and the Y and Z axes to normal scaling, type:
IDL> FSC_Surface, Exact=[1,0,0]
HIDDEN_LINES: Set this keyword to draw the surface with hidden lines removed. The default
is to show hidden lines.
POSITION: A two-, four- or six-element array of normalized (0 to 1) coordinates
used to position the X, Y, and Z axis in the coordinate space. Uses the form
[x0, x1, y0, y1, z0, z1]. In the absence of POSITION information, the Z position
is always [0,1] and the X and Y positions are calculated in a manner that
preserves the aspect ratio of the surface data.
SHADED_SURFACE: Set this keyword to set up a shaded surface plot rather than a wire
mesh surface, which is the default.
TITLE: A string used as the title of the plot.
XTITLE: A string used as the X title of the plot.
YTITLE: A string used as the Y title of the plot.
ZTITLE: A string used as the Z title of the plot.
_EXTRA: This keyword collects otherwise undefined keywords that are passed to the
IDLgrSURFACE initialization routine.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::GETPROPERTY
PURPOSE:
This method enables the getting of the CATSURFACE object properties.
SYNTAX:
aCATSURFACE -> GetProperty, ...
ARGUMENTS:
None.
KEYWORDS:
TRACKBALL: The trackball object contained within the IDLgrView object.
_EXTRA: Any keywords appropriate for the superclass SetProperty method.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::INIT
PURPOSE:
This is the CATSURFACE object class initialization method
SYNTAX:
Called automatically when the object is created.
ARGUMENTS:
data: A 2D array of surface data.
x: A vector of X data values.
y: A vector of Y data values.
KEYWORDS:
COLORTABLE: Set this keyword to a number between 0 and 40 to select one
of the pre-selected IDL color tables for elevation shading.
ELEVATION_SHADING: Set this keyword to put elevation shading into effect.
EXACT: Set this keyword to a one-, two-,or three-element array to set exact axis
scaling for the X, Y, and Z axes, respectively. If Exact is a one-element array,
all three axes are set to the same value. For example, to set the X axis to
exact scaling and the Y and Z axes to normal scaling, type:
IDL> FSC_Surface, Exact=[1,0,0]
HIDDEN_LINES: Set this keyword to draw the surface with hidden lines removed. The default
is to show hidden lines.
LANDSCAPE: Set this keyword if you want printing of the surface to be in landscape mode.
POSITION: A two-, four- or six-element array of normalized (0 to 1) coordinates
used to position the X, Y, and Z axis in the coordinate space. Uses the form
[x0, x1, y0, y1, z0, z1]. In the absence of POSITION information, the Z position
is always [0,1] and the X and Y positions are calculated in a manner that
preserves the aspect ratio of the surface data.
SHADED_SURFACE: Set this keyword to set up a shaded surface plot rather than a wire
mesh surface, which is the default.
TITLE: A string used as the title of the plot.
XTITLE: A string used as the X title of the plot.
YTITLE: A string used as the Y title of the plot.
ZTITLE: A string used as the Z title of the plot.
_EXTRA: This keyword collects otherwise undefined keywords that are passed to the
IDLgrSURFACE initialization routine or for the superclass INIT method.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::MESSAGEHANDLER
PURPOSE:
This method responds to "messages" sent from other objects. It is called
automatically by other objects. To receive messages, it is necessary to
"register" with the messaging object.
SYNTAX:
None. Called by other objects.
ARGUMENTS:
TITLE: The message title. This is the "name" of the message indicated when
the object registered for messages with the messaging object.
KEYWORDS:
DATA: Information from the SENDER that may be relevant in processing the message.
Typically, an anonymous structure variable, although it could be anything at all.
SENDER: An output keyword. This is the object reference of the object that is sending
the message.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::RESIZE
PURPOSE:
This method resizes the trackball for the object
SYNTAX:
self -> Resize, xsize, ysize
ARGUMENTS:
xsize: The new X size.
ysize: The new Y size.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::SELECTCOLORS
PURPOSE:
This method is used to allow user-selection of various surface plot colors.
If no keywords are used, the color of the surface is changed.
SYNTAX:
aCatSurface -> SelectColors
ARGUMENTS:
None.
KEYWORDS:
AXIS: Set this keyword to allow the user to select a color for all three axes.
BACKGROUND Set this keyword to allow the user to select a color for the background color.
ELEVATION: Set this keyword to allow the user to select elevation shading colors
from a COLORTOOL object.
SURFACE Set this keyword to allow the user to select a color for the surface color.
TITLE: Set this keyword to allow the user to select a color for the title color.
XAXIS: Set this keyword to allow the user to select a color for the X axis color.
YAXIS: Set this keyword to allow the user to select a color for the Y axis color.
ZAXIS: Set this keyword to allow the user to select a color for the Z axis color.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::SETPROPERTY
PURPOSE:
This method enables the setting of the CATSURFACE object properties.
SYNTAX:
aCatSurface -> SetProperty ...
ARGUMENTS:
None.
KEYWORDS:
AXIS_COLOR: A three-element color triple array, specifying the new axes color.
BACKGROUND_COLOR: A three-element color triple array, specifying the new background color.
ELEVATION_COLORS: Set this keyword to allow the user to select elevation shading colors
from a COLORTOOL object.
ELEVATION_OFF: Set this keyword to turn elevation shading off for the surface.
ELEVATION_ON: Set this keyword to turn elevation shading on for the surface.
HIDDEN_LINES: Set this keyword to 1 to display with surface with hidden lines removed.
ORIGINAL_ROTATION: Set this keyword to return the surface to its original rotation.
SURFACE_COLOR: A three-element color triple array, specifying the new surface color.
SURFACE_STYLE: Use this keyword to select the surface style. Values are:
0: Dot surface
1: Mesh surface
2: Solid surface
3: Horizontal line surface
4: Vertical line surface
5: Lego surface
6: Filled lego surface
TITLE_COLOR: A three-element color triple array, specifying the new title color.
XAXIS_COLOR: A three-element color triple array, specifying the new X axis color.
YAXIS_COLOR: A three-element color triple array, specifying the new Y axis color.
ZAXIS_COLOR: A three-element color triple array, specifying the new Z axis color.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::SURFACELEVATION
PURPOSE:
This method is the event handler for surface elevation parameters.
SYNTAX:
theObject -> SurfaceElevation, event
ARGUMENTS:
event: The event structure from the object that caused the event.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::SURFACEOUTPUT
PURPOSE:
This method is the event handler for surface output.
SYNTAX:
theObject -> SurfaceOutput, event
ARGUMENTS:
event: The event structure from the object that caused the event.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::SURFACEPRINTING
PURPOSE:
This method is the event handler for surface printing.
SYNTAX:
theObject -> SurfacePrinting, event
ARGUMENTS:
event: The event structure from the object that caused the event.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::SURFACEPROPERTIES
PURPOSE:
This method is the event handler for surface properties.
SYNTAX:
theObject -> SurfaceProperties, event
ARGUMENTS:
event: The event structure from the object that caused the event.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE::SURFACESTYLE
PURPOSE:
This method is the event handler for surface style parameters.
SYNTAX:
theObject -> SurfaceStyle, event
ARGUMENTS:
event: The event structure from the object that caused the event.
KEYWORDS:
None.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)
NAME:
CATSURFACE__DEFINE
PURPOSE:
The purpose of this routine is to implement an object graphics surface
command for display in an ODrawWidget object. To create a rotating surface
in the draw widget, button events MUST be turned on for the draw widget.
AUTHORS:
FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING
1645 Sheely Drive 18 The Green South
Fort Collins Warborough, Oxon
CO 80526 USA OX10 7DN, ENGLAND
Phone: 970-221-0438 Phone: +44 (0)1865 858279
E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk
CATEGORY:
Objects.
SYNTAX:
theSurface = Obj_New("CATSURFACE")
oDrawWidget -> SetProperty, Button_Events=1
oDrawWidget -> Add, theSurface
SUPERCLASSES:
CATOBJECTVIEW
CATATOM
CATCONTAINER
IDL_CONTAINER
CLASS_STRUCTURE:
class = { CATSURFACE, $
INHERITS CATOBJECTVIEW, $ ; A subclass of the CatObjectView object.
_origTransform: FltArr(4,4), $ ; The original transformation matrix.
_trackball: Obj_New(), $ ; The trackball object.
_rotatingModel: Obj_New(), $ ; The rotating model of the surface.
_theSurface: Obj_New(), $ ; The surface object.
_xAxis:Obj_New(), $ ; The X Axis object.
_yAxis:Obj_New(), $ ; The Y Axis object.
_zAxis:Obj_New(), $ ; The Z Axis object.
_nonRotatingLight:Obj_New(), $ ; The non-rotating light object.
_rotatingLight: Obj_New(), $ ; The rotating light object.
_fillLight: Obj_New(), $ ; The fill light object.
_ambientLight: Obj_New(), $ ; The ambient light object.
_thePalette: Obj_New(), $ ; The surface color palette.
_colortable: 0L, $ ; The current color table (for elevation colors).
_surfaceColor:BytArr(3), $ ; The current color of the surface.
_r: BytArr(256), $ ; The R values of the current color table.
_g: BytArr(256), $ ; The G values of the current color table.
_b: BytArr(256), $ ; The B values of the current color table.
_data: Ptr_New(), $ ; The original Z data (2D) for the surface.
_x: Ptr_New(), $ ; The original X data for the surface.
_y: Ptr_New(), $ ; The original Y data for the surface.
_plottitle: Obj_New(), $ ; The plot title object.
_colortool: Obj_New() $ ; A color tool.
}
MODIFICATION_HISTORY:
Written by: David W. Fanning, 1 July, 2003.
(See C:\IDL\Catalyst\source\ographics\catsurface__define.pro)