ProtoTwin API
    Preparing search index...

    Class SuctionGripperComponent

    A component that turns an entity into a suction gripper, allowing it to grip other entities with physics.

    The gripper uses a raycast to detect entities within range. A fixed joint is then added to the gripped object and based to the entity to which the component is attached (or the nearest ancestor with a physics body).

    Hierarchy (View Summary)

    Index

    Properties

    entity: Entity

    The entity to which the component is attached.

    Accessors

    • get direction(): Vec3

      The direction of the detection ray.

      Returns Vec3

    • set direction(value: Vec3): void

      Parameters

      Returns void

    • get initialized(): boolean

      Whether the component has been initialized.

      Returns boolean

    • get kinematics(): boolean

      Whether to grip entities with kinematic physics bodies.

      Returns boolean

      This is typically set to false, in order to avoid gripping conveyors or other static parts.

    • set kinematics(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get layer(): string

      The collision layer for the detection ray.

      Returns string

    • set layer(value: string): void

      Parameters

      • value: string

      Returns void

    • get name(): string

      The component name.

      Returns string

    • set name(value: string): void

      Parameters

      • value: string

      Returns void

    • get position(): Vec3

      The origin of the detection ray.

      Returns Vec3

    • set position(value: Vec3): void

      Parameters

      Returns void

    • get range(): number

      The maximum range at which objects can be gripped.

      Returns number

    • set range(value: number): void

      Parameters

      • value: number

      Returns void

    • get state(): boolean

      Whether the vacuum/suction pump is running, allowing detected objects to be gripped.

      Returns boolean

    • set state(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get world(): World

      The virtual world to which the owning entity belongs.

      Returns World

    Methods

    • Added function called immediately after the component is attached to an entity.

      Returns void

    • Creates a handle (weak reference) to a trackable object.

      Type Parameters

      Parameters

      • type: TrackableType<T>

        The type of object that is to be referenced.

      • value: null | T = null

        The object that is initially referenced by the handle.

      Returns Handle<T>

      A handle to a trackable object.

      Handles created through this function are automatically cleared when the component is detached/removed.

    • Initialization function called immediately before simulating when the model is initialized.

      Returns void

    • Asynchronous initialization function called immediately before simulating when the model is initialized.

      Returns Promise<void>

    • Post-update function called after physics has been updated.

      Parameters

      • dt: number

        The timestep (seconds).

      Returns void

    • Asynchronous post-update function called after physics has been updated.

      Parameters

      • dt: number

        The timestep (seconds).

      Returns Promise<void>

    • Immediately triggers asynchronous initialization if the component hasn't already been initialized.

      Returns Promise<void>

      This can be used in cases where one component references another in its asynchronous initialize function, but it is required that the referenced component has already been asynchronously initialized.

    • Immediately triggers initialization if the component hasn't already been initialized.

      Returns void

      This can be used in cases where one component references another in its initialize function, but it is required that the referenced component has already been initialized.

    • Subscribes to a subscribable object.

      Subscriptions created through this function are automatically unsubscribed when the component is detached/removed.

      Type Parameters

      • T

      Parameters

      • object: Subscribable<T>

        The subscribable object for which to subscribe.

      • subscriber: Subscriber<T>

        The callback function that is triggered when the object's value is updated.

      Returns void

    • Unsubscribes from a subscribable object.

      Type Parameters

      • T

      Parameters

      • object: Subscribable<T>

        The object from which to unsubscribe.

      • subscriber: Subscriber<T>

        The callback function for the subscription.

      Returns boolean

      True if the subscription was canceled, false otherwise.

    • Asynchronous update function called every timestep when simulating.

      Parameters

      • dt: number

        The timestep (seconds).

      Returns Promise<void>