Point and Polygons Object Agents

 

Point and Polygon data types have been given their own set of data members and methods. In each case, additional information is available through these interfaces that cannot be accessed by any other means in LScript.

Point and Polygon messages are legal only during a mesh edit session (i.e., between calls to editBegin() and editEnd()).

Point
The Point data type responds to the following messages:

polygon/polygon()
The polygon/polygon() element of the Point data type is overloaded to return different data based on the context. If the element is accessed directly (as a Data Member), then the number of polygons to which the point belongs is returned. If the method context is invoked, then one or more polygon identifiers will be returned to the caller. If the point is unassociated with any polygon, the data member context will return zero (0), and the method context will return 'nil'. The data member context is read-only.

x, y, z
The x, y, z values hold the position of the point along the indicated axis. These values can be read—they can alter the point position through assignment.

Polygons
The Polygon data type responds to the following messages:

surface
surface is the surface name currently assigned to the polygon. This data member can be read, and it can be assigned. If the surface name assigned does not exist, LScript will first create it.

pointCount
pointCount is an integer value that contains the number of points that comprise the polygon. This data member is read-only.

layer
layer is an integer value that indicates the Modeler layer in which the polygon lives. This data member is read-only.

points[ ]
points[] is an array of Point identifiers that contain all the points that comprise the polygon. It has 'pointCount' elements. The elements in this data member are read-only.

isCurve()
isCurve() returns a true or false value that indicates whether the polygon is a curve (true) or a face (false).

hasCCEnd()
When the polygon is a curve, the hasCCEnd() method will return true if it contains a control point at its tail.

hasCCStart()
When the polygon is a curve, the hasCCStart() method will return true if it contains a control point at its head.

setPoints()
The setPoints() method can set the points that comprise the polygon. It accepts an array reference containing pre-existing point ids, a list of pre-existing pointer ids, or a series of one or more vector values that the method will first convert into points and then apply to the polygon.