Part

Declaration

class declaracad.occ.shape.Part(parent=None, **kwargs)[source]

Bases: Shape

A Part is a compound shape. It may contain any number of nested parts and is typically subclassed.

Attributes:
name: String

An optional name for the part

description: String

An optional description for the part

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_cached_part()

Create and insert the cached part into the parent.

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

enamldef Case(Part):
TopCover:

# etc..

BottomCover:

# etc..

cache

Reference to the cached part. If cached is not True this will default to self making it safe to always use this for references.

cache_key

Key use for caching. If you create multiple instances of the same part use this to distingish between them

cached

Set to true to prevent destruction of the shape when removed from the viewer. You need to manually manage it otherwise it’ll create a memory leak

cached_parts: ClassVar[dict[str, Part]] = {}

Static cache to store parts in.

description

Optional description of the part

destroy() None[source]

A reimplemented destructor.

If cached is set to True, destroy removes the shape from the view but does not destroy it.

initialize() None[source]

A reimplemented initializer.

This initializer will invoke the application to create the proxy if one has not already been provided.

insert_cached_part() None[source]

Create and insert the cached part into the parent.

name

Optional name of the part

proxy

Reference to the implementation control

reload

If true, force delete the cache to reload the cached part

rendered

Triggered when the part is rendered in the viewer

transform

Transform operations

Implementation

class declaracad.occ.impl.occ_shape.OccPart[source]

Bases: OccDependentShape, ProxyPart

Attributes:
ais_shape
builder
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()

Compute the transform for locating the part.

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_location([change])

Recompute the location of this and all nested parts.

update_shape([change])

Create the toolkit shape for the proxy object.

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_focus

set_font

set_foreground

set_maximum_size

set_minimum_size

set_position

set_rotation

set_status_tip

set_texture

set_tool_tip

set_transform

set_transparency

set_visible

ais_shape

Display each sub-item

builder

A reference to the toolkit shape created by the proxy.

get_transform() gp_Trsf[source]

Compute the transform for locating the part.

This factors in the transforms applied to the part as well as the position, direction and rotation attributes.

location

Location

update_location(change=None)[source]

Recompute the location of this and all nested parts.

This only updates the viewer.

update_shape(change=None)[source]

Create the toolkit shape for the proxy object.