pw:: Framework

Framework type

Derives From

pw::Object

Summary
Framework type
This action returns the root (global) framework system.
This action returns true if multiple frameworks are present.
This action returns the framework specified by the name-based path.
This action returns a path to an instance of the framework.
This action specifies the active framework.
This action returns the full path to the active framework as a list of pw::Framework objects.
This action returns a transformation matrix which will convert a point in the coordinate system of the framework specified by the root of the path to the coordinate system of the framework specified as the tail of the path.
This action returns a transformation matrix which will convert a point in the coordinate system of the framework specified by the tail of the path to the coordinate system of the framework specified as the root of the path.
This action transforms a point from one framework coordinate system to another framework coordinate system.
This action transforms a direction from one framework coordinate system to another framework coordinate system.
This action transforms a normal vector from one framework coordinate system to another framework coordinate system.
This action computes the transform from one framework coordinate system to another.
This action exports one or more frameworks.
This action tests to see if a framework path argument is valid.
This attribute controls whether or not the framework is displayed when it is not the active framework.
This attribute controls how transparent its entities are drawn when the framework is not the active framework.
This attribute is the transform of the framework system.
This action deletes this framework system, any framework systems attached to it as children, and any entities contained in the deleted framework systems.
This attribute is the name of the framework system.
This action creates a new pw::Framework object and adds it as a child.
This action adds a child pw::Framework object to the framework.
This action removes a child pw::Framework object from the framework.
This action reorders a child pw::Framework of the framework.
This action removes the framework from one parent, a pw::Framework object, to another parent, also a pw::Framework object.
This action inserts a new pw::Framework object between this framework and the specified child.
This action returns the number of framework children for this framework.
This action returns a pw::Framework object.
This action returns the true if the framework directly contains the specified child framework.
This action replaces the local instance of a multiply-instanced framework with a non-shared copy.
This action moves the entities in the child or at the tail of the specified path to this framework, transforming them from the child space to the parent space.
This action returns the number of times the framework is instanced (i.e., a child of another framework).
This action returns the number of times the framework and the specified child is referenced by a permanent framework path (such as grid entities referencing sources).
This action returns the number of attachment points the framework contains.
This action returns various values associated with an attachment point of a framework.
This action adds an attachment point to a framework.
This action modifies an existing attachment point of a framework.
This action removes the attachment point specified either by index or name.
This action removes all the attachment points from a framework
This action transforms the framework such that the parent attachment point and the child attachment point line up in the global transform space.
This action computes the transform for the framework such that, if applied, would line up the parent attachment point and the child attachment point in the global transform space.

Static Actions

getRoot

pw::Framework getRoot

This action returns the root (global) framework system.

Parameters

None

Returns

This action returns the root pw::Framework object.

hasFrameworks

pw::Framework hasFrameworks

This action returns true if multiple frameworks are present.  This is equivalent to checking if the root framework has any child frameworks.

Parameters

None

Returns

This action returns a boolean value.

get

pw::Framework get $path

This action returns the framework specified by the name-based path.

Parameters

pathA list of names starting with the root framework (which is named “root” by default) and ending with the desired framework.

Returns

This action returns the specified pw::Framework object.

find

pw::Framework find < ?-root head? target | -next path >

This action returns a path to an instance of the framework.

Parameters

-next pathThis parameter specifies a previous path to use as a starting point for the search.  This action will find the next occurence of the framework after this path.  The target framework is the tail of the specified path.  The root of the search is given by the head of the specified path.  An error is raised if the path is invalid.
-root headIf this option is missing, the search is performed relative to the root of the framework hierarchy (unless the -next option is specified).  If an alternate root is specified, then the returned path will be relative to this root framework.
targetIf a path is not specified with the -next option, this specifies the pw::Framework object to locate.  The action will return the first occurrence of the given framework in the framework hierarchy.

Returns

This action returns a list pw::Framework objects representing a path from the root framework (the first entry in the list) to the target framework (the last entry in the list).  An empty list is returned if the target could not be found.

setActive

pw::Framework setActive < path | framework >

This action specifies the active framework.  If the framework is instanced more than once, the full path to the desired instance must be specified.

Parameters

frameworkThis pw::Framework object denotes the desired active framework.  This option can be used if the target framework is only instanced once.  An error will be raised if the framework is instanced multiple times.  In this case, the path option should be used.
pathThis list of pw::Framework objects specifies the path from the root framework (the first entry in the list) to the desired active framework (the last entry in the list).  This form of the command can be used regardless of how many times the target framework is instanced.

Returns

This action returns nothing.

getActive

pw::Framework getActive

This action returns the full path to the active framework as a list of pw::Framework objects.  The first entry in the list will be the root framework and the last entry will be the active framework.

Parameters

None.

Returns

This action returns the active framework as a list of pw::Framework objects.

getRootToTailTransform

pw::Framework getRootToTailTransform path

This action returns a transformation matrix which will convert a point in the coordinate system of the framework specified by the root of the path to the coordinate system of the framework specified as the tail of the path.

Parameters

pathThis specifies the framework path for which the transformation will be computed.

Returns

This action returns a pwu::Transform value representing the transformation to convert a point in the root framework in the path to the tail framework in the path.

getTailToRootTransform

pw::Framework getTailToRootTransform path

This action returns a transformation matrix which will convert a point in the coordinate system of the framework specified by the tail of the path to the coordinate system of the framework specified as the root of the path.

Parameters

pathThis specifies the framework path for which the transformation will be computed.

Returns

This action returns a pwu::Transform value representing the transformation to convert a point in the tail framework in the path to the root framework in the path.

convertPoint

pw::Framework convertPoint ?-from path? ?-to path? < point | coord >

This action transforms a point from one framework coordinate system to another framework coordinate system.

Parameters

-from pathThis specifies the framework path from which the transformation will be computed.  If not specified, or if the specified path is empty, the active framework is used.
-to pathThis specifies the framework path into which the transform will be computed.  If not specified, or if the specified path is empty, the active framework is used.
pointThis parameter is a point.
coordThis parameter is a grid coord.

Note

A path argument must be a list of either pw::Framework objects or framework names.  The path must start at the root framework, start at the active framework, or start at a child of the active framework.  If both a ‘from’ and a ‘to’ path are specified, then it is also permissible for the two paths to share the same starting framework (regardless of whether it is the root or active framework).

Returns

This action returns an XYZ value vector representing the transformed point.

convertDirection

pw::Framework convertDirection ?-from path? ?-to path? direction

This action transforms a direction from one framework coordinate system to another framework coordinate system.

Parameters

-from pathThis specifies the framework path from which the transformation will be computed.  If not specified, or if the specified path is empty, the active framework is used.
-to pathThis specifies the framework path into which the transform will be computed.  If not specified, or if the specified path is empty, the active framework is used.
directionThis parameter is a vector representing the direction to be transformed.

Note

A path argument must be a list of either pw::Framework objects or framework names.  The path must start at the root framework, start at the active framework, or start at a child of the active framework.  If both a ‘from’ and a ‘to’ path are specified, then it is also permissible for the two paths to share the same starting framework (regardless of whether it is the root or active framework).

This differs from the pw::Framework.convertPoint routine in how the XYZ value is prepared for use with the 4x4 transform matrix.  For a point value, the fourth value of the point vector is set to 1.  This allows it to pick up the translation values in the transform.  For a direction, the fourth value of the XYZ vector is set to 0.  One way to think about this is to consider a direction as the difference between two points.  The transformed direction should be the difference between the transformed points.  If the transform is given by M, the direction as D and the points as P1 and P2, then

M * P2M * P1 = M * (P2 - P1) = M * D

Given that P1 and P2 both have 1 as the fourth value, the fourth value for the direction should be 0.

Returns

This action returns an XYZ value vector representing the transformed direction.

convertNormal

pw::Framework convertNormal ?-from path? ?-to path? normal

This action transforms a normal vector from one framework coordinate system to another framework coordinate system.

Parameters

-from pathThis specifies the framework path from which the transformation will be computed.  If not specified, or if the specified path is empty, the active framework is used.
-to pathThis specifies the framework path into which the transform will be computed.  If not specified, or if the specified path is empty, the active framework is used.
normalThis parameter is a vector representing a normal vector.

Note

A path argument must be a list of either pw::Framework objects or framework names.  The path must start at the root framework, start at the active framework, or start at a child of the active framework.  If both a ‘from’ and a ‘to’ path are specified, then it is also permissible for the two paths to share the same starting framework (regardless of whether it is the root or active framework).

Normal vectors are transformed by the transposed inverse of the transformation matrix/

Returns

This action returns an XYZ value vector representing the transformed normal.  The result will be normalized.

computeTransform

pw::Framework computeTransform ?-from path? ?-to path?

This action computes the transform from one framework coordinate system to another.

Parameters

-from pathThis specifies the framework path from which the transformation will be computed.  If not specified, or if the specified path is empty, the active framework is used.
-to pathThis specifies the framework path into which the transform will be computed.  If not specified, or if the specified path is empty, the active framework is used.

Note

A path argument must be a list of either pw::Framework objects or framework names.  The path must start at the root framework, start at the active framework, or start at a child of the active framework.  If both a ‘from’ and a ‘to’ path are specified, then it is also permissible for the two paths to share the same starting framework (regardless of whether it is the root or active framework).

Returns

This action returns a pwu::Transform value representing the transformation matrix.

export

pw::Framework export ?-compress level? filename framework_path_list

This action exports one or more frameworks.

Parameters

-compressThis specifies the compression level to use for the file.  The value should be an integer number in the range [0,9].  The default value of 0 indicates no compression, while the maximum level of compression is specified by a value of 9.
filenameThis specifies the name of file to be exported.
frameworksThis specifies the list of framework paths to be exported.  Each entry in the list should either be a unique framework (only one instance) or the full path to the particular instance of the framework to be exported.  All frameworks below the named frameworks will also be exported.

Notes

A path argument must be a list of either pw::Framework objects or framework names.  The path must start at the root framework.

If more than one framework is specified and they are not in the same branch, they will be exported as direct children of an empty temporary root framework.  For example, if the list of frameworks to export was “root a b c” and “root d e”, the frameworks “c” and “e” would be exported as “temp_root c” and “temp_root e”.  Any transforms by “a”, “b”, or “d” will be ignored.  In this way, they would be later imported under a single framework.

In the rare case where the frameworks to be placed under the “temp_root” have the same name, an additional framework will be inserted between the temporary root and each exported framework so the names can be preserved.  For example, if the list of frameworks to export was “root a b c” and “root d e c”, the frameworks “c” and “c” (which may or may not be instances of the same framework) would be exported as “temp_root framework-1 c” and “temp_root framework-2 c”.

No overset data is included in the export.

Because the framework hierarchy may be different, the default view and saved views may not be the same when reading in the exported framework subset.

Returns

This action returns no value.

isValidPath

pw::Framework isValidPath framework_path

This action tests to see if a framework path argument is valid.

Parameters

pathThis argument specifies a path to check for validity.  A valid path must start with the root framework, the active framework, or a child of the active framework.  Each entry in the framework path can be a framework object or the name of a framework.

Returns

This function returns true if the specified path exists.  A false value is returned if the path does not exist.

Instance Attributes

Enabled

$framework get/setEnabled value

This attribute controls whether or not the framework is displayed when it is not the active framework.

Parameters

-instanceThis optional argument expects a path to an instance of this framework.  The transparency is only for that particular instance.  If this option is not specified, the transparency sets or retrieves the default for future instances of the framework.
-allThis optional flag specifies that the transparency should be applied to all instances of the framework as well as become the default for future instance.  This option is only available when setting the transparency.

Type

This attribute is a boolean value.

Default

The default for this attribute is true.

InactiveTransparency

$framework get/setInactiveTransparency ?-instance path? ?-all? value

This attribute controls how transparent its entities are drawn when the framework is not the active framework.

Parameters

-instanceThis optional argument expects a path to an instance of this framework.  The transparency is only for that particular instance.  If this option is not specified, the transparency sets or retrieves the default for future instances of the framework.
-allThis optional flag specifies that the transparency should be applied to all instances of the framework as well as become the default for future instance.  This option is only available when setting the transparency.

Type

This attribute is a float value between 0.0 (fully opaque) and 1.0 (fully transparent).

Default

The default for this attribute is 0.5.

Transform

$framework get/setTransform xform

This attribute is the transform of the framework system.  It transforms a point in the child’s space into the parent’s transform space.

Type

This attribute is a pwu::Transform list.

Default

The default for this attribute is the identity transform.

Instance Actions

delete

$framework delete

This action deletes this framework system, any framework systems attached to it as children, and any entities contained in the deleted framework systems.

Parameters

None

Note

It is an error to try to delete the root framework system.  Use <pw::Application reset> instead.

Returns

This action returns nothing.

Name

$framework get/setName name

This attribute is the name of the framework system.

Type

This attribute is a string.

Note

The name “.” and names starting with “::pw” are invalid.

Default

The default for this attribute is a uniquely generated name.

createChild

$parent createChild ?entities?

This action creates a new pw::Framework object and adds it as a child.  If any entities are specified, they are moved from the parent framework to the newly created child framework.

Parameters

entitiesThis parameter specifies a list of entities to move from this framework to the newly created child framework.  An error will be rasied if any of the entities do not belong to the parent framework.

Returns

This action returns a new pw::Framework object.

addChild

$parent addChild child

This action adds a child pw::Framework object to the framework.

Parameters

childThis parameter specifies the pw::Framework object to add.

Returns

This action returns nothing.  An error is raised if a circular dependency would be created or if the child is the root framework.

removeChild

$parent removeChild child

This action removes a child pw::Framework object from the framework.

Parameters

childThis argument specifies the pw::Framework object to remove.

Returns

This action returns nothing.

reorderChild

$framework reorderChild $child index

This action reorders a child pw::Framework of the framework.

Parameters

childThis argument specifies the pw::Framework object to reorder.
indexThis parameter specifies the index of this pw::Framework object that the specified child will move to.  The index is in the range [1, N], where N is the number of children the framework has.

Returns

This action returns nothing.

reparent

$child reparent ?-path instance? source_parent destination_parent

This action removes the framework from one parent, a pw::Framework object, to another parent, also a pw::Framework object.

Parameters

-pathThis optional argument specifies a specific instance of the child to be copied.  This only matters if the framework being moved is instanced multiple times and has cut planes and/or a modified transparency setting.  The path specified should be a full path from the root framework to the source parent framework.  The transparency value and cut planes from that instance will be applied to the new instances created.
source_parentThis argument specifies the pw::Framework object that is currently a parent of the framework.
destination_parentThis argument provides the pw::Framework object that is to become the new parent of the framework.

Notes

If the child framework is instanced multiple times and is referenced by permanent framework paths (such as those used by voxel blocks to track enclosing entities or various grid entities to track sources), then reparenting will be prohibited.  Updating the paths is ambiguous in such cases.

A framework in the active framework path cannot be reparented.

Framework transparency settings and cut planes are assigned per instance of a framework.  Reparenting a framework destroys the old instance and creates a new instance.  If the framework is multiply instanced and an instance path is specified, or if there is only one instance of the framework, then the transparency and cut planes will be copied over to the new instance (or instances if the destination is itself multiply-instanced).  Otherwise, any transparency settings or cut planes will be lost.

Returns

This action returns an index of the reparented framework in the range [1, N], where N is the number of children in destination_parent.

insertParent

$parent insertParent $child

This action inserts a new pw::Framework object between this framework and the specified child.

Parameters

childThis parameter specifies the pw::Framework object that will be replaced by a new pw::Framework object.  The child will then be a child of the new framework.

Returns

This action returns the newly created pw::Framework object.  The new framework will be a child of this framework and a parent of the specified child.

getChildCount

$parent getChildCount

This action returns the number of framework children for this framework.

Parameters

none

Returns

This action returns an unsigned integer.

getChild

$parent getChild < index | name >

This action returns a pw::Framework object.

Parameters

indexThis parameter specifies the index of the child to get in the range [1, N], where N is the number of children the framework has.
nameThis parameter specifies the name of the child to get.

Returns

This action returns a pw::Framework object corresponding to the specified child.

hasChild

$parent hasChild < name | framework >

This action returns the true if the framework directly contains the specified child framework.

Parameters

nameThis parameter specifies name of the child framework to be tested.
frameworkThis parameter identifies the pw::Framework object to be checked.

Returns

This action returns true if the specified pw::Framework object is a direct child of the parent framework.

isolateChild

$parent isolateChild < index | child >

This action replaces the local instance of a multiply-instanced framework with a non-shared copy.  All other instances of the framework are unaffected.

Parameters

indexThis parameter specifies the index of the child to isolate in the range [1, N], where N is the number of children the framework has.
childThis parameter specifies the child to be isolated.

Returns

This action returns pw::Framework object.  If the child was multiply instanced, the returned value is the newly created non-shared copy.  If the child was already isolated, the return value is the original child.

flattenChild

$parent flattenChild < index | child | relative_path >

This action moves the entities in the child or at the tail of the specified path to this framework, transforming them from the child space to the parent space.  After moving the entities, the source framework will be removed from its parent if it has no child frameworks.  The path will continue to be culled up to the parent until a framework with entities or other framework children is encountered.  This command will fail if any framework along the specified path is multiply instanced.  Such frameworks must be isolated first (otherwise all instances would be affected).

Parameters

indexThis parameter specifies the index of the child to flatten in the range [1, N], where N is the number of children the framework has.
childThis parameter specifies the child to be flattened.
relative_pathThis parameter specifies a path based with the current framework and ending with the framework to be flattened.  The path can start with this framework or with an immediate child of this framework.

Returns

This action returns nothing.

getInstanceCount

$parent getInstanceCount

This action returns the number of times the framework is instanced (i.e., a child of another framework).

Parameters

None.

Returns

This action returns an unsigned integer.

getPathCount

$parent getPathCount

This action returns the number of times the framework and the specified child is referenced by a permanent framework path (such as grid entities referencing sources).

Parameters

childThis argument specifies a pw::Framework that is a child of this framework.

Returns

This action returns an unsigned integer representing the number of framework paths that reference this framework and the specified child framework sequentially.

getAttachmentPointCount

$parent getAttachmentPointCount

This action returns the number of attachment points the framework contains.

Parameters

None.

Returns

This action returns an unsigned integer.

getAttachmentPoint

$framework getAttachmentPoint ?< -name | -location | -up | -forward>? < index | name >

This action returns various values associated with an attachment point of a framework.

Parameters

indexThis parameter specifies which attachment point is being queried.  The value should be an integer with the range [1, number of attachment points].
nameThe parameter specifies the attachment point to query by name.  The value should be a string.
-nameIf this option is present, the name of the attachment point is returned.  The return value will be a string.
-locationIf this option is present, the location of the attachment point is returned.  When two frameworks are transformed such that two of their attachment points are connected, the location points will be identical in the global transform space.  The return value will be a vector.
-upIf this option is specified, the “up” direction of the attachment point is returned.  When two frameworks are transformed such that two of their attachment points are connected, their up direction vectors will be opposite each other in the global transform space.  The return value will be a vector.
-forwardIf this option is specified, the “forward” direction of the attachment point is returned.  When two frameworks are transformed such that two of their attachment points are connected, their forward direction vectors will be identical in the global transform space.  The return value will be a vector.
noneIf no options are specified, the result will be a list containing the name, the location vector, the up direction vector, and the forward direction vector.

Returns

This action returns varying values based on which optional parameter is specified.  See the list of paremeters above.

addAttachmentPoint

$framework addAttachmentPoint ?-name name? location up forward

This action adds an attachment point to a framework.

Parameters

-name nameThis optional argument specifies the name of the attachment point.  The name will be modified if there is another attachment point with the same name or same root name.  For example, if name is specified as “ap” and there is already an attachment point with the name “ap-1”, the new attachment point will be named “ap-2”.  Similarly, if there had already been an attachment point with the name “ap”, the new attachment point will be named “ap-2”.  Since other commands allow the attachment point to be referenced by name or index, the name cannot be an integer number.
locationThis vector argument specifies the location of the attachment point.  When used to connect to another attachment point, this point will be identical to the location of the other attachment point in the global transform space.
upThis vector argument provides the “up” direction of the attachment point.  When two frameworks are transformed such that two of their attachment points are connected, their up direction vectors will be opposite each other in the global transform space.
forwardThis vector argument specifies the “forward” direction of the attachment point.  When two frameworks are transformed such that two of their attachment points are connected, their forward direction vectors will be identical in the global transform space.

Returns

This action returns an unsigned integer representing the index of the newly added attachment point.  Note that the index can change over time if earlier attachment points are removed.

modifyAttachmentPoint

$framework modifyAttachmentPoint <name | index> ?-name new_name? ?-location location? ?-up up_direction? ?-forward forward_direction?

This action modifies an existing attachment point of a framework.

Parameters

indexThis integer value identifies which attachment point will be modified.  The valid range is [1, number of attachment points].
nameThis string value identifies the attachment point by name.
-name new_nameThis optional argument specifies that the name of the attachment point should be changed.  The actual name will be modified if there is another attachment point with the same name or same root name.  For example, if new_name is specified as “ap” and there is already an attachment point with the name “ap-1”, the attachment point will be named “ap-2”.  Similarly, if there had already been an attachment point with the name “ap”, the attachment point will be named “ap-2”.  Since other commands allow the attachment point to be referenced by name or index, the new_name cannot be an integer number.
-location locationIf specified, the vector argument specifies changes the location of the attachment point.
-up up_directionIf specified, this vector argument provides the “up” direction of the attachment point.  The forward direction may be modified to make it orthogonal to the up direction.  If both the “up” and “forward” directions are specified and are not orthogonal, the “up” direction takes precedence.
-forward forward_directionThis optional flag speciies that the vector argument replaces the “forward” direction of the attachment point.  The “forward” direction will be modified if needed to make it orthogonal to the “up” direction.

Returns

This action returns an unsigned integer representing the index of the newly added attachment point.  Note that the index can change over time if earlier attachment points are removed.

removeAttachmentPoint

$parent removeAttachmentPoint < index | name >

This action removes the attachment point specified either by index or name.

Parameters

indexThis integer argument specifies the index of the attachment point to remove.  The valid range is [1, number of attachment points].
nameThis string argument specifies the name of the attachment point to remove.

Returns

This action returns nothing.

clearAttachmentPoints

$parent clearAttachmentPoints

This action removes all the attachment points from a framework

Parameters

none

Returns

This action returns nothing.

attach

$parent attach parent_path parent_attachment_point child_path child_attachment_point

This action transforms the framework such that the parent attachment point and the child attachment point line up in the global transform space.  The parent attachment point must be in a framework that is not a child of any instance of this framework.  The child attachment point must be an attachment point on this framework or a framework that is an instance of this framework.  After the transformation, the location points will be identical in the global transform space, the up directions will be opposite, and the forward directions will be identical.

Parameters

parent_pathThis argument describes the path to the framework containing the parent attachment point as a list of frameworks.  The framework path is a list of the framework names describing the path from the root to the framework containing the target attachment point.  The framework path must be an absolute path and cannot include this framework.
parent_attachment_pointThis argument identifies the parent attachment point on the framework given by the parent_path argument.  The attachment point can be identified either by name or index.
child_pathThis argument describes the path to the framework containing the child attachment point.  The path is specified as a list of frameworks names.  The path must be an absolute path containing this framework.  This path must point to either this framework or a framework instance that is a child (directly or indirectly) of this framework.
child_attachment_pointThis argument identifies the child attachment point on the framework given by the child_path argument.  The attachment point can be identified either by name or index.

Returns

This action returns nothing.

computeAttachTransform

$parent computeAttachTransform parent_path parent_attachment_point child_path child_attachment_point

This action computes the transform for the framework such that, if applied, would line up the parent attachment point and the child attachment point in the global transform space.  The parent attachment point must be in a framework that is not a child of any instance of this framework.  The child attachment point must be an attachment point on this framework or a framework that is an instance of this framework.  After the transformation, the location points will be identical in the global transform space, the up directions will be opposite, and the forward directions will be identical.

Parameters

parent_pathThis argument describes the path to the framework containing the parent attachment point as a list of frameworks.  The framework path is a list of the framework names describing the path from the root to the framework containing the target attachment point.  The framework path must be an absolute path and cannot include this framework.
parent_attachment_pointThis argument identifies the parent attachment point on the framework given by the parent_path argument.  The attachment point can be identified either by name or index.
child_pathThis argument describes the path to the framework containing the child attachment point.  The path is specified as a list of frameworks names.  The path must be an absolute path containing this framework.  This path must point to either this framework or a framework instance that is a child (directly or indirectly) of this framework.
child_attachment_pointThis argument identifies the child attachment point on the framework given by the child_path argument.  The attachment point can be identified either by name or index.

Returns

This action returns the pwu::Transform that would align the two attachment points.

pw::Framework getRoot
This action returns the root (global) framework system.
pw::Framework hasFrameworks
This action returns true if multiple frameworks are present.
pw::Framework get $path
This action returns the framework specified by the name-based path.
pw::Framework find < ?-root head? target | -next path >
This action returns a path to an instance of the framework.
pw::Framework setActive < path | framework >
This action specifies the active framework.
pw::Framework getActive
This action returns the full path to the active framework as a list of pw::Framework objects.
Framework type
pw::Framework getRootToTailTransform path
This action returns a transformation matrix which will convert a point in the coordinate system of the framework specified by the root of the path to the coordinate system of the framework specified as the tail of the path.
pw::Framework getTailToRootTransform path
This action returns a transformation matrix which will convert a point in the coordinate system of the framework specified by the tail of the path to the coordinate system of the framework specified as the root of the path.
pw::Framework convertPoint ?-from path? ?-to path? < point | coord >
This action transforms a point from one framework coordinate system to another framework coordinate system.
pw::Framework convertDirection ?-from path? ?-to path? direction
This action transforms a direction from one framework coordinate system to another framework coordinate system.
pw::Framework convertNormal ?-from path? ?-to path? normal
This action transforms a normal vector from one framework coordinate system to another framework coordinate system.
pw::Framework computeTransform ?-from path? ?-to path?
This action computes the transform from one framework coordinate system to another.
pw::Framework export ?-compress level? filename framework_path_list
This action exports one or more frameworks.
pw::Framework isValidPath framework_path
This action tests to see if a framework path argument is valid.
$framework get/setEnabled value
This attribute controls whether or not the framework is displayed when it is not the active framework.
$framework get/setInactiveTransparency ?-instance path? ?-all? value
This attribute controls how transparent its entities are drawn when the framework is not the active framework.
$framework get/setTransform xform
This attribute is the transform of the framework system.
$framework delete
This action deletes this framework system, any framework systems attached to it as children, and any entities contained in the deleted framework systems.
$framework get/setName name
This attribute is the name of the framework system.
$parent createChild ?entities?
This action creates a new pw::Framework object and adds it as a child.
$parent addChild child
This action adds a child pw::Framework object to the framework.
$parent removeChild child
This action removes a child pw::Framework object from the framework.
$framework reorderChild $child index
This action reorders a child pw::Framework of the framework.
$child reparent ?-path instance? source_parent destination_parent
This action removes the framework from one parent, a pw::Framework object, to another parent, also a pw::Framework object.
$parent insertParent $child
This action inserts a new pw::Framework object between this framework and the specified child.
$parent getChildCount
This action returns the number of framework children for this framework.
$parent getChild < index | name >
This action returns a pw::Framework object.
$parent hasChild < name | framework >
This action returns the true if the framework directly contains the specified child framework.
$parent isolateChild < index | child >
This action replaces the local instance of a multiply-instanced framework with a non-shared copy.
$parent flattenChild < index | child | relative_path >
This action moves the entities in the child or at the tail of the specified path to this framework, transforming them from the child space to the parent space.
$parent getInstanceCount
This action returns the number of times the framework is instanced (i.e., a child of another framework).
$parent getPathCount
This action returns the number of times the framework and the specified child is referenced by a permanent framework path (such as grid entities referencing sources).
$parent getAttachmentPointCount
This action returns the number of attachment points the framework contains.
$framework getAttachmentPoint ?< -name | -location | -up | -forward>? < index | name >
This action returns various values associated with an attachment point of a framework.
$framework addAttachmentPoint ?-name name? location up forward
This action adds an attachment point to a framework.
$framework modifyAttachmentPoint <name | index> ?-name new_name? ?-location location? ?-up up_direction? ?-forward forward_direction?
This action modifies an existing attachment point of a framework.
$parent removeAttachmentPoint < index | name >
This action removes the attachment point specified either by index or name.
$parent clearAttachmentPoints
This action removes all the attachment points from a framework
$parent attach parent_path parent_attachment_point child_path child_attachment_point
This action transforms the framework such that the parent attachment point and the child attachment point line up in the global transform space.
$parent computeAttachTransform parent_path parent_attachment_point child_path child_attachment_point
This action computes the transform for the framework such that, if applied, would line up the parent attachment point and the child attachment point in the global transform space.
Base type for all glyph types
A boolean is represented as a 0 or 1, with 0 being false and 1 being true.
Utility functions for transform matrices, which are represented as a list of sixteen real values.
A point is a position either in model space or database parameter space.
A coord is a position in grid space.
A vector is a list of float values.
An integer is a whole number.
A float is a fractional number.
A string is an array of characters.