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 

Basic Geometry 

 
 

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