pw:: Shape

Database shape type

Derives From

pw::Object pw::Entity pw::DatabaseEntity

Summary
Database shape type
This action creates a new database shape object.
This attribute is the geometric transform of the database shape.
This attribute is the location of the transform pivot on the shape.
This attribute is the sectional minimum angle in degrees of the database shape, for shapes that support a sectional representation.
This attribute is the sectional maximum angle in degrees of the shape, for shapes that support a sectional representation.
This attribute is the type of cap used at the base of the shape.
This attribute is the type of cap used at the top of the shape.
This attribute is the type of cap used at the sides of the shape when it is a partial shape (e.g.
This action returns whether the given face is valid for the current configuration of the shape.
This action gets the position in the defining space of the shape at the given parameter.
This action gets the position of the shape in model space at the given parameter.
This action gets the center of the shape in model space.
This action gets the base of the shape in model space.
This action gets the top of the shape in model space.
This action gets the position of the shape in object space at the given parameter.
This action gets the normal of the surface in model space at the given parameter.
This action sets the section minimum and maximum angles of the shape to either 1, 2, 3 or 4 quadrants.
This action modifies the transform so that the minimum scale factor is set to one, and at the same time update the dimensions so the shape of the object remains unchanged.
This action clears the shape.
This action sets the shape to a sphere.
This action sets the shape to a cylinder, cone or disk.
This action sets the shape to a box, frustum or rectangle.
This action sets the shape to a polygon.
This action creates models from the current shape.
This action gets the current primitive type string of this shape with values being < None | Sphere | Cylinder | Box | Polygon >
This action gets the length parameter used to set the shape.
This action gets the base angle parameter used to set the shape.
This action gets the top angle parameter used to set the shape.
This action gets the radius parameter used to set the shape.
This action gets the top radius parameter used to set the shape.
This action gets the width parameter used to set the shape.
This action gets the top width parameter used to set the shape.
This action gets the height parameter used to set the shape.
This action gets the top height parameter used to set the shape.
This action gets the points parameter used to set the shape.
This action gets the slope type string used for creating the shape.

Static Actions

create

pw::Shape create

This action creates a new database shape object.

Parameters

none

Returns

This action returns a new pw::Shape object.

Instance Attributes

Transform

$shape get/setTransform value

This attribute is the geometric transform of the database shape.

Type

A 4x4 transform matrix.

Default

The identity transform matrix.

See Also

pwu::Transform

Pivot

$shape get/setPivot pivot

This attribute is the location of the transform pivot on the shape.

Type

This attribute is a string with options < Base | Center | Top >.

Default

Base

Information

Base refers to the center of the shape’s base, Center refers to the center of the shape, and Top refers to the center of the shape’s top.  The pivot location will have object coordinates of 0, 0, 0.

SectionMinimum

$shape get/setSectionMinimum angle

This attribute is the sectional minimum angle in degrees of the database shape, for shapes that support a sectional representation.

Type

This attribute is a float.  Although there is no minimum or maximum value, the angle will be interpreted by mapping it to the range [0.0, 360.0).

Default

The default for this attribute is 0.

SectionMaximum

$shape get/setSectionMaximum angle

This attribute is the sectional maximum angle in degrees of the shape, for shapes that support a sectional representation.

Type

This attribute is a float.  Although there is no minimum or maximum value, the angle will be interpreted by mapping it to the range (0.0, 360.0].

Default

The default for this attribute is 360.

BaseType

$shape get/setBaseType type

This attribute is the type of cap used at the base of the shape.  Only some shapes (sphere and cylinder) support a cap type of sphere.  For other shapes, if the cap type is set to Sphere, it will behave the same as if it were set to Plane.

Type

This attribute is a string with options < Open | Plane | Sphere >.

Default

The default for this attribute is Plane.

TopType

$shape get/setTopType type

This attribute is the type of cap used at the top of the shape.  Only some shapes (sphere and cylinder) support a cap type of sphere.  For other shapes, if the cap type is set to Sphere, it will behave the same as if it were set to Plane.

Type

This attribute is a string with options < Open | Plane | Sphere >.

Default

The default for this attribute is Plane.

SidesType

$shape get/setSidesType type

This attribute is the type of cap used at the sides of the shape when it is a partial shape (e.g. a hemi sphere).  Shapes that do not support partial specification (polygon) will ignore this attribute.

Type

This attribute is a string with options < Open | Plane >.

Default

The default for this attribute is Plane.

Instance Actions

isFaceValid

$shape isFaceValid face

This action returns whether the given face is valid for the current configuration of the shape.

Parameters

faceThis parameter is the part of the shape to check the validity of, with options < Main | Base | Top | MinimumSide | MaximumSide > or an integer in the range [1, 5], which corresponds to the options Main=1, Base=2, etc.

Returns

This action returns a boolean with true if the face is valid and false if it is not

getPosition

$shape getPosition ?< -parameter | -closest >? value

This action gets the position in the defining space of the shape at the given parameter.

Parameters

-parameterThis optional flag indicates to get the position at a parameter.  The value is a uv vector in the range [0.0, 1.0] followed by an optional face string with options < Main | Base | Top | MinimumSide | MaximumSide > or an integer in the range [1, 5], with 1=Main, 2=Base, etc.
-closestThis optional flag results in calculating the position of the point on the shape closest to the specified valuevalue is a point, or grid coord.
valueThis parameter is the value at which to get the position.  Its interpretation is determined by the above flags.  The default mode is the -parameter flag.

Returns

This action returns a point giving the position on the shape (may be in the form “u v dbentity”).

getXYZ

$shape getXYZ ?< -parameter | -closest >? value

This action gets the position of the shape in model space at the given parameter.

Parameters

-parameterThis optional flag indicates to get the XYZ value at a parameter.  The value is a uv vector in the range [0.0, 1.0] followed by an optional face string with options < Main | Base | Top | MinimumSide | MaximumSide > or an integer in the range [1, 5], with 1=Main, 2=Base, etc.
-closestThis optional flag results in calculating the XYZ value of the point on the shape closest to the specified valuevalue is a point, or grid coord.
valueThis parameter is the value at which to get the XYZ value.  Its interpretation is determined by the above flags.  The default mode is the -parameter flag.

Returns

This action returns an XYZ vector.

getCenterXYZ

$shape getCenterXYZ

This action gets the center of the shape in model space.

Parameters

This action takes no parameters.

Returns

This action returns an XYZ vector.

getBaseXYZ

$shape getBaseXYZ

This action gets the base of the shape in model space.

Parameters

This action takes no parameters.

Returns

This action returns an XYZ vector.

getTopXYZ

$shape getTopXYZ

This action gets the top of the shape in model space.

Parameters

This action takes no parameters.

Returns

This action returns an XYZ vector.

getObjectXYZ

$shape getObjectXYZ ?< -parameter | -closest >? value

This action gets the position of the shape in object space at the given parameter.

Parameters

-parameterThis optional flag indicates to get the object space XYZ value at a parameter.  The value is a uv vector in the range [0.0, 1.0] followed by an optional face string with options < Main | Base | Top | MinimumSide | MaximumSide > or an integer in the range [1, 5], with 1=Main, 2=Base, etc.
-closestThis optional flag results in calculating the XYZ value of the point on the shape closest to the specified valuevalue is a point, or grid coord.
valueThis parameter is the value at which to get the XYZ value.  Its interpretation is determined by the above flags.  The default mode is the -parameter flag.

Returns

This action returns an XYZ vector.

getNormal

$shape getNormal ?< -parameter | -closest >? value

This action gets the normal of the surface in model space at the given parameter.

Parameters

-parameterThis optional flag indicates to get the normal at a parameter.  The value is a uv vector in the range [0.0, 1.0] followed by an optional face string with options < Main | Base | Top | MinimumSide | MaximumSide > or an integer in the range [1, 5], with 1=Main, 2=Base, etc.
-closestThis optional flag results in calculating the normal of the point on the shape closest to the specified valuevalue is a point, or grid coord.
valueThis parameter is the value at which to get the normal.  Its interpretation is determined by the above flags.  The default mode is the -parameter flag.

Returns

This action returns an XYZ vector.

setSectionQuadrants

$shape setSectionQuadrants quadrants

This action sets the section minimum and maximum angles of the shape to either 1, 2, 3 or 4 quadrants.  This is just a shortcut for setting the minimum and maximum attributes to (0, 90) for 1 quadrant, (0, 180) for 2 quadrants, (0, 270) for 3 quadrants and (0, 360) for 4 quadrants.

Parameters

quadrantsThis parameter specifies the integer number of quadrants with valid values being 1, 2, 3, or 4.

Returns

This action returns nothing.

See Also

SectionMinimum, SectionMaximum

normalizeTransform

$shape normalizeTransform

This action modifies the transform so that the minimum scale factor is set to one, and at the same time update the dimensions so the shape of the object remains unchanged.

Parameters

This action takes no parameters.

Returns

This action returns nothing.

clear

$shape clear

This action clears the shape.

Parameters

This action takes no parameters.

Returns

This action returns nothing.

sphere

$shape sphere ?-radius value? ?-baseAngle value? ?-topAngle value?

This action sets the shape to a sphere.

Parameters

-radius valueThis optional parameter is the float radius of the sphere with the range (0, infinity).  The default is 1.
-baseAngle valueThis optional parameter specifies the float angle in degrees between the radial in the negative z axis direction and a radial line through the perimeter of the base.  The angle should be in the range [0, 180).  The default is 0.
-topAngle valueThis optional parameter specifies the float angle in degrees between the radial in the negative z axis direction and a radial line through the perimeter of the top.  The angle should be in the range (0, 180].  The default is 180.

Returns

This action returns nothing.

cylinder

$shape cylinder ?-radius value? ?-topRadius value? ?-length value?

This action sets the shape to a cylinder, cone or disk.  A disk is specified by setting the length to 0.)

Parameters

-radius valueThis optional parameter is the float radius of the cylinder with the range [0, infinity).  The default is 1, unless the -topRadius parameter is used, in which case the default is 0.
-topRadius valueThis optional parameter is the float radius of the top of the cylinder with the range [0, infinity).  When used, the -radius parameter will specify the radius of the base only.
-length valueThis optional parameter is the float length of the cone with the range [0, infinity).  The default is 1.

Returns

This action returns nothing.

box

$shape box ?-width value? ?-topWidth value? ?-height value? ?-topHeight value? ?-length value?

This action sets the shape to a box, frustum or rectangle.  A rectangle is specified by setting the length to 0.

Parameters

-width valueThis optional parameter is the float width of the box with the range [0, infinity).  The default is 1, unless the -topWidth parameter is used, in which case the default is 0.
-topWidth valueThis optional parameter is the float width of the top of the box with the range [0, infinity).  When used, the -width parameter will specify the width of the base only.
-height valueThis optional parameter is the float height of the box with the range [0, infinity).  The default is 1, unless the -topHeight parameter is used, in which case the default is 0.
-topHeight valueThis optional parameter is the float height of the top of the box with the range [0, infinity).  When used, the -height parameter will specify the height of the base only.
-length valueThis optional parameter is the float length of the box with the range [0, infinity).  The default is 1.

Returns

This action returns nothing.

polygon

$shape polygon -points vectors ?-slope type? ?-length value?

This action sets the shape to a polygon.

Parameters

-points vectorsThis parameter is a list of vectors of XYZ control points for the profile curve of the polygon.  The length of the list must be greater than one.
-slope typeThis optional parameter is the string type method for calculating the slope vector for the control points of the profile curve of the polygon.  Valid values are < Linear | Akima | CatmullRom | Bezier >, with the default being Linear.
-length valueThis optional parameter is the float length of the polygon with the range [0, infinity).  The default is 1.

Returns

This action returns nothing.

Information

If the slope type is Bezier, the control points list should include the incoming and outgoing slope points and if the incorrect number of control and slope points are given, an error will be returned.

createModels

$shape createModels

This action creates models from the current shape.  It is an error if the current primitive is None.

Parameters

This action takes no parameters.

Returns

This action returns a list of pw::Model entities.

getPrimitive

$shape getPrimitive

This action gets the current primitive type string of this shape with values being < None | Sphere | Cylinder | Box | Polygon >

Parameters

This action takes no parameters.

Returns

This action returns a string.

getLength

$shape getLength

This action gets the length parameter used to set the shape.  If the current shape primitive does not use a length parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float length.

getBaseAngle

$shape getBaseAngle

This action gets the base angle parameter used to set the shape.  If the current shape primitive does not use a base angle parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float base angle.

getTopAngle

$shape getTopAngle

This action gets the top angle parameter used to set the shape.  If the current shape primitive does not use a top angle parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float top angle.

getRadius

$shape getRadius

This action gets the radius parameter used to set the shape.  If the current shape primitive does not use a radius parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float radius.

getTopRadius

$shape getTopRadius

This action gets the top radius parameter used to set the shape.  If the current shape primitive does not use a radius parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float top radius.

getWidth

$shape getWidth

This action gets the width parameter used to set the shape.  If the current shape primitive does not use a width parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float width.

getTopWidth

$shape getTopWidth

This action gets the top width parameter used to set the shape.  If the current shape primitive does not use a width parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float top width.

getHeight

$shape getHeight

This action gets the height parameter used to set the shape.  If the current shape primitive does not use a height parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float height.

getTopHeight

$shape getTopHeight

This action gets the top height parameter used to set the shape.  If the current shape primitive does not use a top height parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns the float top height.

getPoints

$shape getPoints

This action gets the points parameter used to set the shape.  If the current shape primitive does not use a points parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns a list of vector XYZ control points.

getSlope

$shape getSlope

This action gets the slope type string used for creating the shape.  If the current shape primitive does not use a slope parameter, an error will be returned.

Parameters

This action takes no parameters.

Returns

This action returns a string.  One of < Linear | Akima | CatmullRom | Bezier >.

pw::Shape create
This action creates a new database shape object.
$shape get/setTransform value
This attribute is the geometric transform of the database shape.
$shape get/setPivot pivot
This attribute is the location of the transform pivot on the shape.
$shape get/setSectionMinimum angle
This attribute is the sectional minimum angle in degrees of the database shape, for shapes that support a sectional representation.
$shape get/setSectionMaximum angle
This attribute is the sectional maximum angle in degrees of the shape, for shapes that support a sectional representation.
$shape get/setBaseType type
This attribute is the type of cap used at the base of the shape.
$shape get/setTopType type
This attribute is the type of cap used at the top of the shape.
$shape get/setSidesType type
This attribute is the type of cap used at the sides of the shape when it is a partial shape (e.g.
$shape isFaceValid face
This action returns whether the given face is valid for the current configuration of the shape.
$shape getPosition ?< -parameter | -closest >? value
This action gets the position in the defining space of the shape at the given parameter.
$shape getXYZ ?< -parameter | -closest >? value
This action gets the position of the shape in model space at the given parameter.
$shape getCenterXYZ
This action gets the center of the shape in model space.
$shape getBaseXYZ
This action gets the base of the shape in model space.
$shape getTopXYZ
This action gets the top of the shape in model space.
$shape getObjectXYZ ?< -parameter | -closest >? value
This action gets the position of the shape in object space at the given parameter.
$shape getNormal ?< -parameter | -closest >? value
This action gets the normal of the surface in model space at the given parameter.
$shape setSectionQuadrants quadrants
This action sets the section minimum and maximum angles of the shape to either 1, 2, 3 or 4 quadrants.
$shape normalizeTransform
This action modifies the transform so that the minimum scale factor is set to one, and at the same time update the dimensions so the shape of the object remains unchanged.
$shape clear
This action clears the shape.
$shape sphere ?-radius value? ?-baseAngle value? ?-topAngle value?
This action sets the shape to a sphere.
$shape cylinder ?-radius value? ?-topRadius value? ?-length value?
This action sets the shape to a cylinder, cone or disk.
$shape box ?-width value? ?-topWidth value? ?-height value? ?-topHeight value? ?-length value?
This action sets the shape to a box, frustum or rectangle.
$shape polygon -points vectors ?-slope type? ?-length value?
This action sets the shape to a polygon.
$shape createModels
This action creates models from the current shape.
$shape getPrimitive
This action gets the current primitive type string of this shape with values being < None | Sphere | Cylinder | Box | Polygon >
A string is an array of characters.
$shape getLength
This action gets the length parameter used to set the shape.
$shape getBaseAngle
This action gets the base angle parameter used to set the shape.
$shape getTopAngle
This action gets the top angle parameter used to set the shape.
$shape getRadius
This action gets the radius parameter used to set the shape.
$shape getTopRadius
This action gets the top radius parameter used to set the shape.
$shape getWidth
This action gets the width parameter used to set the shape.
$shape getTopWidth
This action gets the top width parameter used to set the shape.
$shape getHeight
This action gets the height parameter used to set the shape.
$shape getTopHeight
This action gets the top height parameter used to set the shape.
$shape getPoints
This action gets the points parameter used to set the shape.
$shape getSlope
This action gets the slope type string used for creating the shape.
Base type for all glyph types
Entity type
Base type for all database entities
Database shape type
Utility functions for transform matrices, which are represented as a list of sixteen real values.
A float is a fractional number.
A boolean is represented as a 0 or 1, with 0 being false and 1 being true.
A vector is a list of float values.
An integer is a whole number.
A point is a position either in model space or database parameter space.
A coord is a position in grid space.
Database model type