Next: About this document ...
Up: Dulac and Nichols: Object-Oriented
Previous: Conclusions
- Claerbout, J.F., 1986, Canonical program library: SEP-50, 281-289.
- Claerbout J.F., 1989, Interface for system independent plotting: SEP-60, 391-412.
- Cole S., Dellinger J., 1989, Vplot:SEP's plot language: SEP-60,349-365.
- Dulac J.C., 1988, A user interface manager: SepView: SEP-59.
- Dulac J.C., Nichols D., Van Trier J., 1988, An introduction to
InterViews: SEP-59.
APPENDIX A
First, the appendix presents an overview of the Seplib objects SepInput,
SepOutput which represents respectively an input or ouput
header file and data file. The classes
SepInfo, SepAxis which describe the structure of the data are
also presented.
Second the graphic objects derived from the GSObject or GSNPtObject
such as GSPlane, GSMultiLine, GSBSplines are described.
Third we present some InterViews interactor View, GraPanel, Iaxis
used into the examples.
Then we describe in one final table the interface of two rubberbands used
into the Overlay program and presented in the Figure ,
respectively RubberHyperbola and RubberParabola.
Table 3:
SepInput object- base class for reading input datas.
Input auxiliary file or standard input file are not differentiated from the user
point of view.
| 2||c||SepInput Object |
|
| functions |
comments |
| SepInput(char *) |
Creates an input object. |
| boolean Par(char *name, int &value) |
Gets a parameter value from its name. |
| boolean Par(char *name, float &value) |
|
| boolean Par(char *name, char *&value) |
|
| boolean Sample(DataStore *, int i1, int i2, int i3) |
Gets a sample pointed by the 3 indices, |
| |
puts it into the given DataStore object, |
| |
returns true if everything went ok. |
| boolean Trace(DataStore *,int a1,int i1,int a2,int i2) |
Gets a trace perpendicular to |
| |
the plane given by the axes a1 and a2, |
| |
and at the position i1,i2 on these axes, |
| |
puts it into the given DataStore object. |
| boolean Plane(DataStore *, int ax1, int i1) |
Gets a plane perpendicular |
| |
to the axis ax1 at the position i1 |
| |
on this axis. |
| boolean Cube(DataStore *) |
Gets a cube and puts it |
| |
into the given DataStore object. |
Table 4:
SepOutput object- base class for writting output datas.
Output auxiliary file or standard output file have the same interface.
| 2||c||SepOutput Object |
|
| functions |
comments |
| SepOutput(char *, SepData *) |
Creates an output object on the given header |
| |
file and with the given SepData. |
| SepOutput(char *, SepInput *, SepData *) |
Creates an output object on the given header |
| |
file and given SepData , copies the input header. |
| void Par(char *name, int value) |
Appends a parameter into the header file |
| |
on the form name=value. |
| void Par(char *name, float value) |
|
| void Par(char *name, char *value) |
|
Table 5:
SepInfo object and SepAxis object - classes for data description.
| 2||c||SepInfo and SepAxis Objects |
|
| functions |
comments |
| SepInfo(SepAxis *[], int n, int esz, char *t) |
Creates an info from axes definition. |
| SepInfo(SepInput *) |
Creates an info from a header file. |
| SepAxis(SepInput *, int n) |
Creates axis n from a header file. |
| SepAxis(float o, float d, int n, char *t) |
Creates an axis from input parameters. |
Table 6:
Graphic plane object and other graphic objects -
Class for representing a data plane object.
The plane may be represented either in raster mode or in wiggle mode.
| 2||c||GSPlane, GSMultiLine, ...Objects |
|
| functions |
comments |
| GSPlane(SepPlane *, boolean, Graphic *) |
Creates a GSPlane from a SepPlane. |
| void SetRasterMode(boolean) |
Sets the mode of representation. |
| GSPoint(float, float, Graphic *) |
Creates a point. |
| GSLine(float, float, float, float, Graphic *) |
Creates a line. |
| GSMultiLine(float *, float *, int, Graphic *) |
Creates a set of connected lines. |
| GSPolygon(float *, float *, int, Graphic *) |
Creates a polygon. |
| GSFillPolygon(float *, float *, int, Graphic *) |
Creates a filled polygon. |
| GSBSpline(float *, float *, int, Graphic *) |
Creates a BSpline specified |
| |
by the given control vertices. |
Table 7:
Graphic Data Picture - Displays a GSPlane at a certain location in
the view with a certain orientation. This object holds the transformation from
seismic coordinates to screen coordinates. All the GSObject described into
seismic coordinates must be inserted into this picture.
| 2||c||Picture Objects |
|
| functions |
comments |
| GSDataPict(GSPlane *, |
Creates a GSDataPict from a GSPlane |
| Coord x0, Coord y0, Coord x1, Coord y1, |
in a given rectangle |
| int x=2, int y=-1, Graphic *g) |
with a given orientation. |
| GSCurvesPict(SepPlane *, |
Creates a GSCurvesPict from a SepPlane |
| Coord x0, Coord y0, Coord x1, Coord y1, |
in a given rectangle |
| int x=2, int y=-1, Graphic *g) |
with a given orientation. |
| GSCurvesPict(SepInfo *, |
Creates a GSCurvesPict from user axes |
| Coord x0, Coord y0, Coord x1, Coord y1, |
definition in a given rectangle |
| int x=2, int y=-1, Graphic *g) |
with a given orientation (no data). |
| void Change(GSPlane *,int x=2,int y=-1) |
Changes the data representation |
| |
into the same screen space. |
| void UserInput(Coord x, Coord y, |
|
| float &u1, float &u2, float &u3, |
Transforms input coordinates |
| float &i1, float &i2, float &i3) |
into user coordinates. |
Table 8:
Graphic Interactors - classes to insert a graphic into a view
controlled by scroller or panner, with or without axes.
| 2||c||Interactive Objects |
|
| functions |
comments |
| View(GSObject *, Message *) |
Creates a view around the gsobject. |
| void SetTpow(float tpow) |
Sets tpow, recomputes and updates display. |
| void SetClip(float clip) |
Sets the clip, recomputes and updates display. |
| void Raster() |
Sets to raster mode and updates display. |
| void Wiggle() |
Sets to wiggle mode and updates display. |
| void FrameIncr(int) |
Gets the next plane and updates display. |
| void Load(char *) |
Gets the new data set and updates display. |
| HIAxis(View*, Graphic *, |
Creates a horizontal axis associated |
| Alignment a=Bottom, int size = 0) |
with a view and a graphic. |
| VIAxis(View*, Graphic *, |
Creates a vertical axis associated |
| Alignment a=Left, int size = 0) |
with a view and a graphic. |
| GraPanel(View *, boolean axis, int scrollType) |
Creates a graphic panel. |
Table 9:
Overlay Objects - classes to draw Overlays. The encapsulation of all
the state variables and private data leads to a clean interface which
encourages reusability.
| 2||c||Overlay Objects |
|
| functions |
comments |
| RubberHyperbola(Painter *, Canvas *, |
Construct a RubberHyperbola with |
| Transformer *st, |
a seismic transformation |
| int pt, float tmax, float v=1.48) |
a plane type(pt), an initial velocity(v). |
| void Param(float &t0, float &x0, float &v) |
Get hyperbola parameters. |
| void Fix() |
Fixes the apex of the hyperbola. The |
| |
subsequent trackings will change the velocity. |
| RubberParabola(Painter *, Canvas *, |
Constructs a RubberParabola with |
| Transformer *st, |
a seismic transformation, |
| float o1, float d1, float o2, float d2, int n2, |
seismic coordinates, |
| float * sloth) |
a sloth vector. |
| void Param(float &t0, float &rms) |
Gets parabola parameters. |
| void Fix() |
Fixes the apex of the parabola. The subse- |
| |
quent trackings will change the rms velocity. |
Next: About this document ...
Up: Dulac and Nichols: Object-Oriented
Previous: Conclusions
Stanford Exploration Project
1/13/1998