Struct godot::classes::Geometry2D
#[repr(C)]pub struct Geometry2D { /* private fields */ }
Expand description
Godot class Geometry2D.
Inherits Object
.
Related symbols:
geometry_2d
: sidecar module with related enum/flag typesIGeometry2D
: virtual methods
See also Godot docs for Geometry2D
.
§Singleton
This class is a singleton. You can get the one instance using Geometry2D::singleton()
.
Implementations§
§impl Geometry2D
impl Geometry2D
pub fn singleton() -> Gd<Geometry2D>
pub fn is_point_in_circle( &mut self, point: Vector2, circle_position: Vector2, circle_radius: f32, ) -> bool
pub fn segment_intersects_circle( &mut self, segment_from: Vector2, segment_to: Vector2, circle_position: Vector2, circle_radius: f32, ) -> f32
pub fn segment_intersects_segment( &mut self, from_a: Vector2, to_a: Vector2, from_b: Vector2, to_b: Vector2, ) -> Variant
pub fn line_intersects_line( &mut self, from_a: Vector2, dir_a: Vector2, from_b: Vector2, dir_b: Vector2, ) -> Variant
pub fn get_closest_points_between_segments( &mut self, p1: Vector2, q1: Vector2, p2: Vector2, q2: Vector2, ) -> PackedVector2Array
pub fn get_closest_point_to_segment( &mut self, point: Vector2, s1: Vector2, s2: Vector2, ) -> Vector2
pub fn get_closest_point_to_segment_uncapped( &mut self, point: Vector2, s1: Vector2, s2: Vector2, ) -> Vector2
pub fn point_is_inside_triangle( &self, point: Vector2, a: Vector2, b: Vector2, c: Vector2, ) -> bool
pub fn is_polygon_clockwise(&mut self, polygon: PackedVector2Array) -> bool
pub fn is_point_in_polygon( &mut self, point: Vector2, polygon: PackedVector2Array, ) -> bool
pub fn triangulate_polygon( &mut self, polygon: PackedVector2Array, ) -> PackedInt32Array
pub fn triangulate_delaunay( &mut self, points: PackedVector2Array, ) -> PackedInt32Array
pub fn convex_hull(&mut self, points: PackedVector2Array) -> PackedVector2Array
pub fn decompose_polygon_in_convex( &mut self, polygon: PackedVector2Array, ) -> Array<PackedVector2Array>
pub fn merge_polygons( &mut self, polygon_a: PackedVector2Array, polygon_b: PackedVector2Array, ) -> Array<PackedVector2Array>
pub fn clip_polygons( &mut self, polygon_a: PackedVector2Array, polygon_b: PackedVector2Array, ) -> Array<PackedVector2Array>
pub fn intersect_polygons( &mut self, polygon_a: PackedVector2Array, polygon_b: PackedVector2Array, ) -> Array<PackedVector2Array>
pub fn exclude_polygons( &mut self, polygon_a: PackedVector2Array, polygon_b: PackedVector2Array, ) -> Array<PackedVector2Array>
pub fn clip_polyline_with_polygon( &mut self, polyline: PackedVector2Array, polygon: PackedVector2Array, ) -> Array<PackedVector2Array>
pub fn intersect_polyline_with_polygon( &mut self, polyline: PackedVector2Array, polygon: PackedVector2Array, ) -> Array<PackedVector2Array>
pub fn offset_polygon( &mut self, polygon: PackedVector2Array, delta: f32, ) -> Array<PackedVector2Array>
pub fn offset_polygon_ex( &mut self, polygon: PackedVector2Array, delta: f32, ) -> ExOffsetPolygon<'_>
pub fn offset_polyline( &mut self, polyline: PackedVector2Array, delta: f32, ) -> Array<PackedVector2Array>
pub fn offset_polyline_ex( &mut self, polyline: PackedVector2Array, delta: f32, ) -> ExOffsetPolyline<'_>
pub fn make_atlas(&mut self, sizes: PackedVector2Array) -> Dictionary
Methods from Deref<Target = Object>§
pub fn get_class(&self) -> GString
pub fn is_class(&self, class: GString) -> bool
pub fn set(&mut self, property: StringName, value: Variant)
pub fn get(&self, property: StringName) -> Variant
pub fn set_indexed(&mut self, property_path: NodePath, value: Variant)
pub fn get_indexed(&self, property_path: NodePath) -> Variant
pub fn get_property_list(&self) -> Array<Dictionary>
pub fn get_method_list(&self) -> Array<Dictionary>
pub fn property_can_revert(&self, property: StringName) -> bool
pub fn property_get_revert(&self, property: StringName) -> Variant
pub fn set_script(&mut self, script: Variant)
pub fn get_script(&self) -> Variant
pub fn set_meta(&mut self, name: StringName, value: Variant)
pub fn remove_meta(&mut self, name: StringName)
pub fn get_meta(&self, name: StringName) -> Variant
pub fn get_meta_ex(&self, name: StringName) -> ExGetMeta<'_>
pub fn has_meta(&self, name: StringName) -> bool
pub fn get_meta_list(&self) -> Array<StringName>
pub fn add_user_signal(&mut self, signal: GString)
pub fn add_user_signal_ex(&mut self, signal: GString) -> ExAddUserSignal<'_>
pub fn has_user_signal(&self, signal: StringName) -> bool
pub fn remove_user_signal(&mut self, signal: StringName)
pub fn emit_signal(&mut self, signal: StringName, varargs: &[Variant]) -> Error
pub fn emit_signal(&mut self, signal: StringName, varargs: &[Variant]) -> Error
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_emit_signal(
&mut self,
signal: StringName,
varargs: &[Variant],
) -> Result<Error, CallError>
pub fn try_emit_signal( &mut self, signal: StringName, varargs: &[Variant], ) -> Result<Error, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call(&mut self, method: StringName, varargs: &[Variant]) -> Variant
pub fn call(&mut self, method: StringName, varargs: &[Variant]) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call(
&mut self,
method: StringName,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call( &mut self, method: StringName, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call_deferred(
&mut self,
method: StringName,
varargs: &[Variant],
) -> Variant
pub fn call_deferred( &mut self, method: StringName, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call_deferred(
&mut self,
method: StringName,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call_deferred( &mut self, method: StringName, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn set_deferred(&mut self, property: StringName, value: Variant)
pub fn callv(&mut self, method: StringName, arg_array: OutArray) -> Variant
pub fn has_method(&self, method: StringName) -> bool
pub fn get_method_argument_count(&self, method: StringName) -> i32
pub fn has_signal(&self, signal: StringName) -> bool
pub fn get_signal_list(&self) -> Array<Dictionary>
pub fn get_signal_connection_list( &self, signal: StringName, ) -> Array<Dictionary>
pub fn get_incoming_connections(&self) -> Array<Dictionary>
pub fn connect(&mut self, signal: StringName, callable: Callable) -> Error
pub fn connect_ex( &mut self, signal: StringName, callable: Callable, ) -> ExConnect<'_>
pub fn disconnect(&mut self, signal: StringName, callable: Callable)
pub fn is_connected(&self, signal: StringName, callable: Callable) -> bool
pub fn set_block_signals(&mut self, enable: bool)
pub fn is_blocking_signals(&self) -> bool
pub fn notify_property_list_changed(&mut self)
pub fn set_message_translation(&mut self, enable: bool)
pub fn can_translate_messages(&self) -> bool
pub fn tr(&self, message: StringName) -> GString
pub fn tr_ex(&self, message: StringName) -> ExTr<'_>
pub fn tr_n( &self, message: StringName, plural_message: StringName, n: i32, ) -> GString
pub fn tr_n_ex( &self, message: StringName, plural_message: StringName, n: i32, ) -> ExTrN<'_>
pub fn is_queued_for_deletion(&self) -> bool
pub fn cancel_free(&mut self)
pub fn notify(&mut self, what: ObjectNotification)
pub fn notify(&mut self, what: ObjectNotification)
⚠️ Sends a Godot notification to all classes inherited by the object.
Triggers calls to on_notification()
, and depending on the notification, also to Godot’s lifecycle callbacks such as ready()
.
Starts from the highest ancestor (the Object
class) and goes down the hierarchy.
See also Godot docs for Object::notification()
.
§Panics
If you call this method on a user-defined object while holding a GdRef
or GdMut
guard on the instance, you will encounter
a panic. The reason is that the receiving virtual method on_notification()
acquires a GdMut
lock dynamically, which must
be exclusive.
pub fn notify_reversed(&mut self, what: ObjectNotification)
pub fn notify_reversed(&mut self, what: ObjectNotification)
⚠️ Like Self::notify()
, but starts at the most-derived class and goes up the hierarchy.
See docs of that method, including the panics.