[−][src]Struct gdnative_bindings::Curve
core class Curve
inherits Resource
(reference counted).
Official documentation
See the documentation of this class in the Godot engine's official documentation.
Memory management
The lifetime of this object is automatically managed through reference counting.
Class hierarchy
Curve 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 Curve
[src]
Constants
pub const TANGENT_FREE: i64
[src]
pub const TANGENT_LINEAR: i64
[src]
pub const TANGENT_MODE_COUNT: i64
[src]
impl Curve
[src]
pub fn new() -> Ref<Self, Unique>
[src]
Creates a new instance of this object.
This is a reference-counted type. The returned object is automatically managed
by Ref
.
pub fn add_point(
&self,
position: Vector2,
left_tangent: f64,
right_tangent: f64,
left_mode: i64,
right_mode: i64
) -> i64
[src]
&self,
position: Vector2,
left_tangent: f64,
right_tangent: f64,
left_mode: i64,
right_mode: i64
) -> i64
Adds a point to the curve. For each side, if the [code]*_mode[/code] is [constant TANGENT_LINEAR], the [code]*_tangent[/code] angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the [code]*_tangent[/code] angle if [code]*_mode[/code] is set to [constant TANGENT_FREE].
Default Arguments
left_tangent
-0
right_tangent
-0
left_mode
-0
right_mode
-0
pub fn bake(&self)
[src]
Recomputes the baked cache of points for the curve.
pub fn clean_dupes(&self)
[src]
Removes points that are closer than [code]CMP_EPSILON[/code] (0.00001) units to their neighbor on the curve.
pub fn clear_points(&self)
[src]
Removes all points from the curve.
pub fn bake_resolution(&self) -> i64
[src]
The number of points to include in the baked (i.e. cached) curve data.
pub fn max_value(&self) -> f64
[src]
The maximum value the curve can reach.
pub fn min_value(&self) -> f64
[src]
The minimum value the curve can reach.
pub fn get_point_count(&self) -> i64
[src]
Returns the number of points describing the curve.
pub fn get_point_left_mode(&self, index: i64) -> TangentMode
[src]
Returns the left [enum TangentMode] for the point at [code]index[/code].
pub fn get_point_left_tangent(&self, index: i64) -> f64
[src]
Returns the left tangent angle (in degrees) for the point at [code]index[/code].
pub fn get_point_position(&self, index: i64) -> Vector2
[src]
Returns the curve coordinates for the point at [code]index[/code].
pub fn get_point_right_mode(&self, index: i64) -> TangentMode
[src]
Returns the right [enum TangentMode] for the point at [code]index[/code].
pub fn get_point_right_tangent(&self, index: i64) -> f64
[src]
Returns the right tangent angle (in degrees) for the point at [code]index[/code].
pub fn interpolate(&self, offset: f64) -> f64
[src]
Returns the Y value for the point that would exist at the X position [code]offset[/code] along the curve.
pub fn interpolate_baked(&self, offset: f64) -> f64
[src]
Returns the Y value for the point that would exist at the X position [code]offset[/code] along the curve using the baked cache. Bakes the curve's points if not already baked.
pub fn remove_point(&self, index: i64)
[src]
Removes the point at [code]index[/code] from the curve.
pub fn set_bake_resolution(&self, resolution: i64)
[src]
The number of points to include in the baked (i.e. cached) curve data.
pub fn set_max_value(&self, max: f64)
[src]
The maximum value the curve can reach.
pub fn set_min_value(&self, min: f64)
[src]
The minimum value the curve can reach.
pub fn set_point_left_mode(&self, index: i64, mode: i64)
[src]
Sets the left [enum TangentMode] for the point at [code]index[/code] to [code]mode[/code].
pub fn set_point_left_tangent(&self, index: i64, tangent: f64)
[src]
Sets the left tangent angle for the point at [code]index[/code] to [code]tangent[/code].
pub fn set_point_offset(&self, index: i64, offset: f64) -> i64
[src]
Sets the offset from [code]0.5[/code].
pub fn set_point_right_mode(&self, index: i64, mode: i64)
[src]
Sets the right [enum TangentMode] for the point at [code]index[/code] to [code]mode[/code].
pub fn set_point_right_tangent(&self, index: i64, tangent: f64)
[src]
Sets the right tangent angle for the point at [code]index[/code] to [code]tangent[/code].
pub fn set_point_value(&self, index: i64, y: f64)
[src]
Assigns the vertical position [code]y[/code] to the point at [code]index[/code].
Methods from Deref<Target = Resource>
pub fn duplicate(&self, subresources: bool) -> Option<Ref<Resource, Shared>>
[src]
Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency. This can be changed by passing [code]true[/code] to the [code]subresources[/code] argument which will copy the subresources.
[b]Note:[/b] If [code]subresources[/code] is [code]true[/code], this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.
Default Arguments
subresources
-false
pub fn get_local_scene(&self) -> Option<Ref<Node, Shared>>
[src]
If [member resource_local_to_scene] is enabled and the resource was loaded from a [PackedScene] instantiation, returns the local scene where this resource's unique copy is in use. Otherwise, returns [code]null[/code].
pub fn name(&self) -> GodotString
[src]
The name of the resource. This is an optional identifier.
pub fn path(&self) -> GodotString
[src]
The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.
pub fn get_rid(&self) -> Rid
[src]
Returns the RID of the resource (or an empty RID). Many resources (such as [Texture], [Mesh], etc) are high-level abstractions of resources stored in a server, so this function will return the original RID.
pub fn is_local_to_scene(&self) -> bool
[src]
If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.
pub fn set_local_to_scene(&self, enable: bool)
[src]
If [code]true[/code], the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.
pub fn set_name(&self, name: impl Into<GodotString>)
[src]
The name of the resource. This is an optional identifier.
pub fn set_path(&self, path: impl Into<GodotString>)
[src]
The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.
pub fn setup_local_to_scene(&self)
[src]
This method is called when a resource with [member resource_local_to_scene] enabled is loaded from a [PackedScene] instantiation. Its behavior can be customized by overriding [method _setup_local_to_scene] from script.
For most resources, this method performs no base logic. [ViewportTexture] performs custom logic to properly set the proxy texture and flags in the local viewport.
pub fn take_over_path(&self, path: impl Into<GodotString>)
[src]
Sets the path of the resource, potentially overriding an existing cache entry for this path. This differs from setting [member resource_path], as the latter would error out if another resource was already cached for the given path.
Trait Implementations
impl Debug for Curve
[src]
impl Deref for Curve
[src]
impl DerefMut for Curve
[src]
impl GodotObject for Curve
[src]
type RefKind = RefCounted
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
fn class_name() -> &'static str
[src]
fn null() -> Null<Self>
[src]
fn new() -> Ref<Self, Unique> where
Self: Instanciable,
[src]
Self: Instanciable,
fn cast<T>(&self) -> Option<&T> where
T: GodotObject + SubClass<Self>,
[src]
T: GodotObject + SubClass<Self>,
fn upcast<T>(&self) -> &T where
Self: SubClass<T>,
T: GodotObject,
[src]
Self: SubClass<T>,
T: GodotObject,
unsafe fn assume_shared(&self) -> Ref<Self, Shared>
[src]
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
[src]
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_unique(&self) -> Ref<Self, Unique>
[src]
impl Instanciable for Curve
[src]
impl Sealed for Curve
[src]
impl SubClass<Object> for Curve
[src]
impl SubClass<Reference> for Curve
[src]
impl SubClass<Resource> for Curve
[src]
Auto Trait Implementations
impl RefUnwindSafe for Curve
impl !Send for Curve
impl !Sync for Curve
impl Unpin for Curve
impl UnwindSafe for Curve
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SubClass<T> for T where
T: GodotObject,
[src]
T: GodotObject,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,