mapteksdk.labs.view module
Manipulation of views.
This module contains a view controller class with additional functionality which is still a work-in-progress. It is being provided through labs for earlier feedback.
To use the labs version of the ViewController, you can:
>>> from mapteksdk.project import Project
>>> from mapteksdk.labs.view import enable_labs_on_view_controller
>>> import mapteksdk.operations as operations
>>> project = Project()
>>> view = operations.open_new_view()
>>> enable_labs_on_view_controller(view)
>>> camera = view.camera()
>>> print(camera.origin, camera.artificial_scale)
- class RigidTransform
Bases:
InlineMessage
Represents a rigid body (6 degree of freedom) transformation in 3D space.
- rotation: Tuple[c_double, c_double, c_double, c_double]
- translation: Tuple[c_double, c_double, c_double]
- classmethod from_handle(handle)
Read the message from a handle.
- Returns
A message object populated with the values from the given handle.
- Return type
cls
- class Camera
Bases:
Message
Response back for the Camera request.
- origin: Tuple[c_double, c_double, c_double]
- artificial_scale: Tuple[c_double, c_double, c_double]
- rigid_transform: RigidTransform
- angular_field_of_view: c_double
- linear_field_of_view: c_double
- perspective_factor: c_double
- classmethod from_handle(handle)
Read the message from a handle.
This is useful when receiving a message from a sender.
- Returns
A message object populated with the values from the given handle.
- Return type
cls
- message_name: ClassVar[str] = ''
- send(destination)
Send the message to the destination.
- Parameters
destination (str) – The destination of where to send the message.
- class LabsViewController(view_id)
Bases:
ViewController
Provides access onto a specified view, with additional work-in progress features.
- Parameters
view_id (ObjectID[DataObject]) –
- camera()
Return the current camera (i.e position/orientation) for the view.
- set_camera(new_camera, smoothly=True)
Change the current camera of the view.
- Parameters
new_camera (Camera) – The new camera to use for the view.
smoothly (bool) – Whether the camera should smoothly transition to the new state, or if it should change instantaneously.
- change_camera(change_function, smoothly=True)
Change a part of the camera.
The part that is changed is based on what the change_function does. It is called with the current state of the camera and should make the appropriate modifications to it
- Parameters
change_function (callable) – A function that will be passed the current state of the camera and should modify it and return the modified version back.
smoothly (bool) – Whether the camera should smoothly transition to the new state, or if it should change instantaneously.
- add_object(object_to_add)
Add a single object to the view.
- Parameters
object_to_add (Union[ObjectID, DataObject, str]) – The object to add, the ObjectID of the object to add, or a path string for the object to add.
- add_objects(objects)
Adds the provided objects to the view.
- Parameters
objects (Iterable[Union[ObjectID, DataObject, str]]) – A list of IDs of objects to add to the view.
- property background_colour: Tuple[int, int, int, int]
The background colour of the view window.
This is represented as a tuple containing red, green, blue, alpha values of the colour. Each value is an integer in the range [0, 255].
When changing the background colour, the alpha is optional and the colour may be given as either a tuple, list or ndarray.
- close()
Close the view.
Avoid closing views that you didn’t open, as such avoid closing the view if it came from a non-empty active view. This is because you may close a view that was being used by another tool in the application.
A case where closing the view is a good idea is if the script creates one and is interactive and long-running. Think about when the script is done if the person running the script would miss seeing what is in the view, would find it a hassle to have to close it themself or if the content is no longer relevant after the script has exited.
Examples
Opens a new view then closes it.
>>> import mapteksdk.operations as operations >>> project = Project() >>> view = operations.open_new_view() >>> input('Press enter to finish') >>> view.close()
- hide_object(object_to_hide)
Hide a single object in the view.
- Parameters
object_to_hide (Union[ObjectID, DataObject, str]) – The object to hide, the ObjectID of the object to hide, or a path string for the object to hide.
- hide_objects(objects)
Hide the provided objects in the view.
Hiding objects not in the view will do nothing.
- Parameters
objects (Iterable[Union[ObjectID, DataObject, str]]) – A list of IDs of objects to hide.
- objects_in_view(object_filter=0)
Return a list of objects that are in the the view.
- Parameters
object_filter (ObjectFilter) – A filter that limits what objects are returned.
- Returns
A list of object IDs of objects that are in the view that meet the filter criteria.
- Return type
list
- remove_object(object_to_remove)
Remove a single object from the view.
- Parameters
object_to_remove (Union[ObjectID, DataObject, str]) – The object to remove, the ObjectID of the object to remove, or a path string for the object to remove.
- remove_objects(objects)
Removes the provided objects from the view if present.
Removing objects not in the view will do nothing.
- Parameters
objects (Iterable[Union[ObjectID, DataObject, str]]) – A list of IDs of objects to remove from the view.
- show_object(object_to_show)
Show a single hidden object in the view.
- Parameters
object_to_show (Union[ObjectID, DataObject, str]) – The object to show, the ObjectID of the object to show, or a path string for the object to show.
- show_objects(objects)
Show the provided objects in the view (if hidden).
If the objects are not in the view then they won’t be shown.
- Parameters
objects (Iterable[Union[ObjectID, DataObject, str]]) – A list of IDs of objects to hide.
- property window_title: str
Return the window title.
This is the name of the view window as seen in the application.
- enable_labs_on_view_controller(view_controller)
Enables the labs functionality on the given view controller.
- Returns
The provided view controller with labs functionality enabled.
- Return type
- Raises
TypeError – If the labs functionality has already been enabled.
TypeError – If the object is not a view controller.