Transform

No example available.

Declaration

class declaracad.occ.algo.Transform(parent=None, **kwargs)[source]

Bases: Operation

An operation that Transform’s an existing shape (or a copy). If no operations are given it will align along the axis defined by the position direction and rotation.

Attributes:
shape: Shape or None

Shape to transform. If none is given it will use the first child. If given it will make a transformed copy the reference shape.

mirror: Tuple or List

Mirror transformation to apply to the shape. Should be a list for each axis (True, False, True).

scale: Tuple or List

Scale to apply to the shape. Should be a list of float values for each axis ex. (2, 2, 2).

rotate: Tuple or List

Rotation to apply to the shape. Should be a list of float values (in radians) for each axis ex. (0, math.pi/2, 0).

translate: Tuple or List

Translation to apply to the shape. Should be a list of float values for each axis ex. (0, 0, 100).

Methods

activate_bottom_up()

Initialize the proxy on the bottom-up activation pass.

activate_proxy()

Activate the proxy object tree.

activate_top_down()

Initialize the proxy on the top-down activation pass.

child_added(child)

A reimplemented child added event handler.

child_moved(child)

A method invoked when a child is moved in the object.

child_removed(child)

A reimplemented child removed event handler.

destroy()

A reimplemented destructor.

find(name[, regex])

Find the first object in the subtree with the given name.

find_all(name[, regex])

Find all objects in the subtree with the given name.

freeze

Freeze the atom to prevent further modifications to its attributes.

get_member

Get the named member for the atom.

has_observer

Get whether the atom has the given observer for a given topic.

has_observers

Get whether the atom has observers for a given topic.

initialize()

A reimplemented initializer.

insert_children(before, insert)

Insert children into this object at the given location.

members()

Get the members dictionary for the type.

notifications_enabled

Get whether notification is enabled for the atom.

notify

Call the registered observers for a given topic with positional and keyword arguments.

observe

Register an observer callback to observe changes on the given topic(s).

parent_changed(old, new)

A method invoked when the parent of the object changes.

render()

Generates and returns the actual shape from the declaration.

root_object()

Get the root object for this hierarchy.

set_notifications_enabled

Enable or disable notifications for the atom.

set_parent(parent)

Set the parent for this object.

suppress_notifications()

Disable member notifications within in a context.

traverse([depth_first])

Yield all of the objects in the tree, from this object down.

traverse_ancestors([root])

Yield all of the objects in the tree, from this object up.

unobserve

Unregister an observer callback for the given topic(s).

Examples

Transform:

operations = [Rotate(direction=(1, 0, 0), angle=math.pi/4)] Box: box:

pass

#: Or Cylinder: cyl

pass

Transform:

#: Create a copy and move it shape = cyl operations = [

Translate(x=10, y=20, z=0), Scale(s=2), Rotate(direction=(0,0,1), angle=math.pi/2)

]

operations

Transform ops

proxy

Reference to the implementation control

shape

Shape to transform if none is given the first child will be used

Implementation

class declaracad.occ.impl.occ_transform.OccTransform[source]

Bases: OccOperation, ProxyTransform

Attributes:
ais_shape
declaration
displayed
is_active

Test whether or not the proxy is fully activated.

location
reference
shape
tdf_label
topology
viewer

Methods

activate_bottom_up()

Activate the proxy tree for the bottom-up pass.

activate_top_down()

Activate the proxy for the top-down pass.

child_added(child)

Handle a child being added to the object.

child_removed(child)

Handle a child being removed from the object.

child_shapes()

Iterator of all child shapes

children()

Get the child objects for this object.

create_shape()

Create the toolkit shape for the proxy object.

destroy()

Destroy the proxy and any of its resources.

freeze

Freeze the atom to prevent further modifications to its attributes.

get_first_child()

Return shape to apply the operation to.

get_member

Get the named member for the atom.

get_transform()

Create a transform which rotates the default axis to align with the normal given by the position

has_observer

Get whether the atom has the given observer for a given topic.

has_observers

Get whether the atom has observers for a given topic.

init_layout()

Initialize the layout of the toolkit shape.

init_shape()

Initialize the state of the toolkit widget.

members()

Get the members dictionary for the type.

notifications_enabled

Get whether notification is enabled for the atom.

notify

Call the registered observers for a given topic with positional and keyword arguments.

observe

Register an observer callback to observe changes on the given topic(s).

parent()

Get the parent proxy object for this object.

set_notifications_enabled

Enable or disable notifications for the atom.

suppress_notifications()

Disable member notifications within in a context.

unobserve

Unregister an observer callback for the given topic(s).

update_shape([change])

Must be implmented in subclasses to create the shape when the dependent shapes change.

walk_shapes([ignore_display])

Iterator of all child shapes

clear_focus

ensure_hidden

ensure_visible

focus_next_child

focus_previous_child

get_bounding_box

has_focus

on_shape_changed

parent_shape

request_relayout

restyle

set_axis

set_background

set_color

set_direction

set_display

set_enabled

set_fix

set_focus

set_font

set_foreground

set_maximum_size

set_minimum_size

set_mirror

set_operations

set_position

set_rotate

set_scale

set_shape

set_status_tip

set_texture

set_tool_tip

set_translate

set_transparency

set_visible

get_transform()[source]

Create a transform which rotates the default axis to align with the normal given by the position

Returns:
transform: gp_Trsf
reference

Class reference url

update_shape(change=None)[source]

Must be implmented in subclasses to create the shape when the dependent shapes change.