Object Types in C_Shape_Edit
Throughout the C_Shape_Edit User's Manual, a set of datatypes will
be used to describe the classes of values which are allowed as arguments
for functions. These datatypes are listed below with brief descriptions.
In function and program descriptions, datatypes are given in angle brackets.
If a value may be one of several datatypes, all the possible datatypes
are listed, separated by vertical bars.
Table of Contents for Datatypes
|
Basic
|
General
|
|
Related to Spline Curves and Surfaces
|
Related to Geometric Primitives
|
Related to Aggregate Structures
|
<type1>
<type1 | type2 | type3>
-
integer
-
A whole number.
-
real
-
A real number. Usually an integer can also be used where a real is called
for.
-
boolean
-
These are yes or no values for constructor options. In SCL,
these are the keywords true and false. Usually the integers
1 and O can be used where a boolean is called for.
-
number
-
<real | integer> If the number datatype is specified in the form <number:v0--v1>
the value must lie in the range between v0 and v1.
-
arrayOf
-
This datatype is usually given in conjunction with the type of the elements,
as in <arrayOf number>. Occasionally, just <array> is used to refer
to an array of heterogeneous elements. Values of this datatype are created
with the array constructor function which takes a variable number
of arguments.
-
string
-
String values are given with double quotes, as in "string".
-
keyword
-
Keyword values are string values choosen from a particular set of
valid options.
Two very general datatypes are used in a number of functions. Usually these
functions analyze the type of the argument themselves and take the appropriate
actions.
-
object
-
An object is generally any datatype that represents a geometric of physical
object.
-
anything
-
Some functions have arguments which actually may take on values or any
datatype.
The basic geometry datatypes are listed below.
-
e2Pt
-
Two-dimensional euclidean points, with X and Y coordinates.
-
e3Pt
-
Three-dimensional euclidean points, with X, Y, and Z coordinates.
-
p2Pt
-
Two-dimensional projective points, with X, Y and W coordinates.
-
p3Pt
-
Three-dimensional projective points, with X, Y, Z and W coordinates.
-
2DPt
-
<e2Pt | p2Pt>
-
3DPt
-
<e3Pt | p3Pt>
-
euclidPoint
-
<e2Pt | e3Pt>
-
projPoint
-
<p2Pt | p3Pt>
-
point
-
<euclidPoint | projPoint>
-
r2Vec
-
Two-dimensional vector, with X and Y coordinates.
-
r3Vec
-
Three-dimensional vector, with X, Y, and Z coordinates.
-
geomVector
-
<r2Vec | r3Vec>
-
anchor
-
A local coordinate system defined by a 3D location (3DPt) and three orthogonal
vectors (r3Vec).
-
e2Line
-
An unbounded line embedded in the Z=0 plane (2D space).
-
e3Line
-
A general unbounded line in three-dimensional space.
-
line
-
<e2Line | e3Line>
-
polyline
-
A sequence of points. When displayed, they are connected by straight line
segments. Polylines with two points are used to represent line segments
(since the <line> datatype is unbounded).
-
polygon
-
Like <polyline>, but when displayed, the last point first point are
also connected by a straight line.
-
plane
-
An unbounded plane in three-dimensional space.
-
arc
-
A circular arc in three-dimensional space.
-
circle
-
A complete circle in three-dimensional space.
The following datatypes are related to spline curves and surfaces.
-
knotVector
-
The knot vector is part of the parametric information for spline curves
and surfaces. It is a non-decreasing sequence of numbers.
-
knotArray
-
<knotVector | arrayOf number> Some functions allow knot vectors to be
given as an array of numbers, or as a knot vector object.
-
ctlPoly
-
The control polygon for curve is usually a sequence of points, although
numbers and vectors can also be used in some applications.
-
ctlMesh
-
The control mesh for surface is usually a two-dimensional array of points,
although numbers and vectors can also be used in some applications.
-
curve
-
The spline curve is the only curve representation used in Alpha_1.
-
surface
-
The spline surface is the only surface representation used in Alpha_1.
A few datatypes for geometric primitives are provided. For display, boolean
combinations, and other operations, a spline surface representation is
derived.
-
box
-
A box with six rectangular faces.
-
wedge
-
A wedge with three rectangular and two triangular faces.
-
cylinder
-
A right circular cylinder.
-
cone
-
A right circular cone.
-
sphere
-
A sphere.
-
ellipsoid
-
An ellipsoid of revolution.
-
torus
-
A torus.
-
prim
-
Any of the primitive objects listed above.
Some datatypes for making aggregate structures involving other datatypes
are also available.
-
shell
-
Shell objects are special groups of surfaces used for boolean set operations.
They only contain surfaces. Trimmed surfaces must be contained in
a shell to be valid.
-
instance
-
An instance is a reference to some object which is associated with a transformation
matrix. Conceptually, it is a copy of the object to which the transformation
has been applied.
-
group
-
A group is just a convenient way of clustering a number of objects into
a single entity for easier reference.
-
matDescr
-
Matrix descriptor objects describe a rigid body transformation that can
be represented as a 4x4 matrix. There are a large number of these, ranging
from simple ones like translateX to complex ones like rotateVectorToZAxisWithY.
-
transform
-
A transform object is a grouping mechanism for matrix descriptors.
C_Shape_Edit User's Manual Home Page
Alpha_1 User's Manual.
Copyright © 1998, University of Utah
a1-web@gr.cs.utah.edu