[][src]Struct gdnative::api::Line2D

pub struct Line2D { /* fields omitted */ }

core class Line2D inherits Node2D (unsafe).

Official documentation

See the documentation of this class in the Godot engine's official documentation.

Memory management

Non reference counted objects such as the ones of this type are usually owned by the engine.

Line2D is a reference-only type. Persistent references can only exist in the unsafe Ref<Line2D> form.

In the cases where Rust code owns an object of this type, for example if the object was just created on the Rust side and not passed to the engine yet, ownership should be either given to the engine or the object must be manually destroyed using Ref::free, or Ref::queue_free if it is a Node.

Class hierarchy

Line2D inherits methods from:

Safety

All types in the Godot API have "interior mutability" in Rust parlance. To enforce that the official thread-safety guidelines are followed, the typestate pattern is used in the Ref and TRef smart pointers, and the Instance API. The typestate Access in these types tracks whether the access is unique, shared, or exclusive to the current thread. For more information, see the type-level documentation on Ref.

Implementations

impl Line2D[src]

Constants

impl Line2D[src]

pub fn new() -> Ref<Line2D, Unique>[src]

Creates a new instance of this object.

Because this type is not reference counted, the lifetime of the returned object is not automatically managed.

Immediately after creation, the object is owned by the caller, and can be passed to the engine (in which case the engine will be responsible for destroying the object) or destroyed manually using Ref::free, or preferably Ref::queue_free if it is a Node.

pub fn add_point(&self, position: Vector2D<f32, UnknownUnit>, at_position: i64)[src]

Adds a point at the [code]position[/code]. Appends the point at the end of the line.
				If [code]at_position[/code] is given, the point is inserted before the point number [code]at_position[/code], moving that point (and every point after) after the inserted point. If [code]at_position[/code] is not given, or is an illegal value ([code]at_position < 0[/code] or [code]at_position >= [method get_point_count][/code]), the point will be appended at the end of the point list.

Default Arguments

  • at_position - -1

pub fn clear_points(&self)[src]

Removes all points from the line.

pub fn antialiased(&self) -> bool[src]

If [code]true[/code], the line's border will be anti-aliased.

pub fn begin_cap_mode(&self) -> LineCapMode[src]

Controls the style of the line's first point. Use [enum LineCapMode] constants.

pub fn curve(&self) -> Option<Ref<Curve, Shared>>[src]

The line's width varies with the curve. The original width is simply multiply by the value of the Curve.

pub fn default_color(&self) -> Color[src]

The line's color. Will not be used if a gradient is set.

pub fn end_cap_mode(&self) -> LineCapMode[src]

Controls the style of the line's last point. Use [enum LineCapMode] constants.

pub fn gradient(&self) -> Option<Ref<Gradient, Shared>>[src]

The gradient is drawn through the whole line from start to finish. The default color will not be used if a gradient is set.

pub fn joint_mode(&self) -> LineJointMode[src]

The style for the points between the start and the end.

pub fn get_point_count(&self) -> i64[src]

Returns the Line2D's amount of points.

pub fn get_point_position(&self, i: i64) -> Vector2D<f32, UnknownUnit>[src]

Returns point [code]i[/code]'s position.

pub fn points(&self) -> TypedArray<Vector2D<f32, UnknownUnit>>[src]

The points that form the lines. The line is drawn between every point set in this array. Points are interpreted as local vectors.

pub fn round_precision(&self) -> i64[src]

The smoothness of the rounded joints and caps. This is only used if a cap or joint is set as round.

pub fn sharp_limit(&self) -> f64[src]

The direction difference in radians between vector points. This value is only used if [code]joint mode[/code] is set to [constant LINE_JOINT_SHARP].

pub fn texture(&self) -> Option<Ref<Texture, Shared>>[src]

The texture used for the line's texture. Uses [code]texture_mode[/code] for drawing style.

pub fn texture_mode(&self) -> LineTextureMode[src]

The style to render the [code]texture[/code] on the line. Use [enum LineTextureMode] constants.

pub fn width(&self) -> f64[src]

The line's width.

pub fn remove_point(&self, i: i64)[src]

Removes the point at index [code]i[/code] from the line.

pub fn set_antialiased(&self, antialiased: bool)[src]

If [code]true[/code], the line's border will be anti-aliased.

pub fn set_begin_cap_mode(&self, mode: i64)[src]

Controls the style of the line's first point. Use [enum LineCapMode] constants.

pub fn set_curve(&self, curve: impl AsArg<Curve>)[src]

The line's width varies with the curve. The original width is simply multiply by the value of the Curve.

pub fn set_default_color(&self, color: Color)[src]

The line's color. Will not be used if a gradient is set.

pub fn set_end_cap_mode(&self, mode: i64)[src]

Controls the style of the line's last point. Use [enum LineCapMode] constants.

pub fn set_gradient(&self, color: impl AsArg<Gradient>)[src]

The gradient is drawn through the whole line from start to finish. The default color will not be used if a gradient is set.

pub fn set_joint_mode(&self, mode: i64)[src]

The style for the points between the start and the end.

pub fn set_point_position(&self, i: i64, position: Vector2D<f32, UnknownUnit>)[src]

Overwrites the position in point [code]i[/code] with the supplied [code]position[/code].

pub fn set_points(&self, points: TypedArray<Vector2D<f32, UnknownUnit>>)[src]

The points that form the lines. The line is drawn between every point set in this array. Points are interpreted as local vectors.

pub fn set_round_precision(&self, precision: i64)[src]

The smoothness of the rounded joints and caps. This is only used if a cap or joint is set as round.

pub fn set_sharp_limit(&self, limit: f64)[src]

The direction difference in radians between vector points. This value is only used if [code]joint mode[/code] is set to [constant LINE_JOINT_SHARP].

pub fn set_texture(&self, texture: impl AsArg<Texture>)[src]

The texture used for the line's texture. Uses [code]texture_mode[/code] for drawing style.

pub fn set_texture_mode(&self, mode: i64)[src]

The style to render the [code]texture[/code] on the line. Use [enum LineTextureMode] constants.

pub fn set_width(&self, width: f64)[src]

The line's width.

Methods from Deref<Target = Node2D>

pub fn apply_scale(&self, ratio: Vector2D<f32, UnknownUnit>)[src]

Multiplies the current scale by the [code]ratio[/code] vector.

pub fn get_angle_to(&self, point: Vector2D<f32, UnknownUnit>) -> f64[src]

Returns the angle between the node and the [code]point[/code] in radians.

pub fn global_position(&self) -> Vector2D<f32, UnknownUnit>[src]

Global position.

pub fn global_rotation(&self) -> f64[src]

Global rotation in radians.

pub fn global_rotation_degrees(&self) -> f64[src]

Global rotation in degrees.

pub fn global_scale(&self) -> Vector2D<f32, UnknownUnit>[src]

Global scale.

pub fn position(&self) -> Vector2D<f32, UnknownUnit>[src]

Position, relative to the node's parent.

pub fn get_relative_transform_to_parent(
    &self,
    parent: impl AsArg<Node>
) -> Transform2D<f32, UnknownUnit, UnknownUnit>
[src]

Returns the [Transform2D] relative to this node's parent.

pub fn rotation(&self) -> f64[src]

Rotation in radians, relative to the node's parent.

pub fn rotation_degrees(&self) -> f64[src]

Rotation in degrees, relative to the node's parent.

pub fn scale(&self) -> Vector2D<f32, UnknownUnit>[src]

The node's scale. Unscaled value: [code](1, 1)[/code].

pub fn z_index(&self) -> i64[src]

Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.

pub fn global_translate(&self, offset: Vector2D<f32, UnknownUnit>)[src]

Adds the [code]offset[/code] vector to the node's global position.

pub fn is_z_relative(&self) -> bool[src]

If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.

pub fn look_at(&self, point: Vector2D<f32, UnknownUnit>)[src]

Rotates the node so it points towards the [code]point[/code], which is expected to use global coordinates.

pub fn move_local_x(&self, delta: f64, scaled: bool)[src]

Applies a local translation on the node's X axis based on the [method Node._process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/code], normalizes the movement.

Default Arguments

  • scaled - false

pub fn move_local_y(&self, delta: f64, scaled: bool)[src]

Applies a local translation on the node's Y axis based on the [method Node._process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/code], normalizes the movement.

Default Arguments

  • scaled - false

pub fn rotate(&self, radians: f64)[src]

Applies a rotation to the node, in radians, starting from its current rotation.

pub fn set_global_position(&self, position: Vector2D<f32, UnknownUnit>)[src]

Global position.

pub fn set_global_rotation(&self, radians: f64)[src]

Global rotation in radians.

pub fn set_global_rotation_degrees(&self, degrees: f64)[src]

Global rotation in degrees.

pub fn set_global_scale(&self, scale: Vector2D<f32, UnknownUnit>)[src]

Global scale.

pub fn set_global_transform(
    &self,
    xform: Transform2D<f32, UnknownUnit, UnknownUnit>
)
[src]

Global [Transform2D].

pub fn set_position(&self, position: Vector2D<f32, UnknownUnit>)[src]

Position, relative to the node's parent.

pub fn set_rotation(&self, radians: f64)[src]

Rotation in radians, relative to the node's parent.

pub fn set_rotation_degrees(&self, degrees: f64)[src]

Rotation in degrees, relative to the node's parent.

pub fn set_scale(&self, scale: Vector2D<f32, UnknownUnit>)[src]

The node's scale. Unscaled value: [code](1, 1)[/code].

pub fn set_transform(&self, xform: Transform2D<f32, UnknownUnit, UnknownUnit>)[src]

Local [Transform2D].

pub fn set_z_as_relative(&self, enable: bool)[src]

If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.

pub fn set_z_index(&self, z_index: i64)[src]

Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.

pub fn to_global(
    &self,
    local_point: Vector2D<f32, UnknownUnit>
) -> Vector2D<f32, UnknownUnit>
[src]

Transforms the provided local position into a position in global coordinate space. The input is expected to be local relative to the [Node2D] it is called on. e.g. Applying this method to the positions of child nodes will correctly transform their positions into the global coordinate space, but applying it to a node's own position will give an incorrect result, as it will incorporate the node's own transformation into its global position.

pub fn to_local(
    &self,
    global_point: Vector2D<f32, UnknownUnit>
) -> Vector2D<f32, UnknownUnit>
[src]

Transforms the provided global position into a position in local coordinate space. The output will be local relative to the [Node2D] it is called on. e.g. It is appropriate for determining the positions of child nodes, but it is not appropriate for determining its own position relative to its parent.

pub fn translate(&self, offset: Vector2D<f32, UnknownUnit>)[src]

Translates the node by the given [code]offset[/code] in local coordinates.

Trait Implementations

impl Debug for Line2D[src]

impl Deref for Line2D[src]

type Target = Node2D

The resulting type after dereferencing.

impl DerefMut for Line2D[src]

impl GodotObject for Line2D[src]

type RefKind = ManuallyManaged

The memory management kind of this type. This modifies the behavior of the Ref smart pointer. See its type-level documentation for more information. Read more

impl Instanciable for Line2D[src]

impl QueueFree for Line2D[src]

impl SubClass<CanvasItem> for Line2D[src]

impl SubClass<Node> for Line2D[src]

impl SubClass<Node2D> for Line2D[src]

impl SubClass<Object> for Line2D[src]

Auto Trait Implementations

impl RefUnwindSafe for Line2D

impl !Send for Line2D

impl !Sync for Line2D

impl Unpin for Line2D

impl UnwindSafe for Line2D

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.