graphene

Struct Sphere

Source
pub struct Sphere { /* private fields */ }
Expand description

A sphere, represented by its center and radius.

GLib type: Inline allocated boxed type with stack copy semantics.

Implementations§

Source§

impl Sphere

Source

pub fn as_ptr(&self) -> *mut graphene_sphere_t

Source

pub unsafe fn from_glib_ptr_borrow<'a>( ptr: *const graphene_sphere_t, ) -> &'a Self

Borrows the underlying C value.

Source

pub unsafe fn from_glib_ptr_borrow_mut<'a>( ptr: *mut graphene_sphere_t, ) -> &'a mut Self

Borrows the underlying C value mutably.

Source§

impl Sphere

Source

pub fn contains_point(&self, point: &Point3D) -> bool

Checks whether the given point is contained in the volume of a Sphere.

§point

a Point3D

§Returns

true if the sphere contains the point

Source

pub fn distance(&self, point: &Point3D) -> f32

Computes the distance of the given point from the surface of a Sphere.

§point

a Point3D

§Returns

the distance of the point

Source

pub fn bounding_box(&self) -> Box

Computes the bounding box capable of containing the given Sphere.

§Returns
§box_

return location for the bounding box

Source

pub fn center(&self) -> Point3D

Retrieves the coordinates of the center of a Sphere.

§Returns
§center

return location for the coordinates of the center

Source

pub fn radius(&self) -> f32

Retrieves the radius of a Sphere.

Source

pub fn is_empty(&self) -> bool

Checks whether the sphere has a zero radius.

§Returns

true if the sphere is empty

Source

pub fn translate(&self, point: &Point3D) -> Sphere

Translates the center of the given Sphere using the point coordinates as the delta of the translation.

§point

the coordinates of the translation

§Returns
§res

return location for the translated sphere

Source§

impl Sphere

Source

pub fn new(center: Option<&Point3D>, radius: f32) -> Self

Initializes the given Sphere with the given center and radius.

§center

the coordinates of the center of the sphere, or None for a center in (0, 0, 0)

§radius

the radius of the sphere

§Returns

the initialized Sphere

Source

pub fn from_points(points: &[Point3D], center: Option<&Point3D>) -> Self

Initializes the given Sphere using the given array of 3D coordinates so that the sphere includes them.

The center of the sphere can either be specified, or will be center of the 3D volume that encompasses all points.

§points

an array of Point3D

§center

the center of the sphere

§Returns

the initialized Sphere

Source

pub fn from_vectors(vectors: &[Vec3], center: Option<&Point3D>) -> Self

Initializes the given Sphere using the given array of 3D coordinates so that the sphere includes them.

The center of the sphere can either be specified, or will be center of the 3D volume that encompasses all vectors.

§vectors

an array of Vec3

§center

the center of the sphere

§Returns

the initialized Sphere

Trait Implementations§

Source§

impl Clone for Sphere

Source§

fn clone(&self) -> Self

Copies the inline boxed type by value with the type-specific copy function.

1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Sphere

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl HasParamSpec for Sphere

Source§

type ParamSpec = ParamSpecBoxed

Source§

type SetValue = Sphere

Preferred value to be used as setter for the associated ParamSpec.
Source§

type BuilderFn = fn(_: &str) -> ParamSpecBoxedBuilder<'_, Sphere>

Source§

fn param_spec_builder() -> Self::BuilderFn

Source§

impl PartialEq for Sphere

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StaticType for Sphere

Source§

fn static_type() -> Type

Returns the type identifier of Self.
Source§

impl Copy for Sphere

Source§

impl Eq for Sphere

Auto Trait Implementations§

§

impl Freeze for Sphere

§

impl RefUnwindSafe for Sphere

§

impl Send for Sphere

§

impl Sync for Sphere

§

impl Unpin for Sphere

§

impl UnwindSafe for Sphere

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

Source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

Source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

Source§

impl<T> Property for T
where T: HasParamSpec,

Source§

type Value = T

Source§

impl<T> PropertyGet for T
where T: HasParamSpec,

Source§

type Value = T

Source§

fn get<R, F>(&self, f: F) -> R
where F: Fn(&<T as PropertyGet>::Value) -> R,

Source§

impl<T> StaticTypeExt for T
where T: StaticType,

Source§

fn ensure_type()

Ensures that the type has been registered with the type system.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToSendValue for T
where T: Send + ToValue + ?Sized,

Source§

fn to_send_value(&self) -> SendValue

Returns a SendValue clone of self.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T> TryFromClosureReturnValue for T
where T: for<'a> FromValue<'a> + StaticType + 'static,

Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<'a, T, C, E> FromValueOptional<'a> for T
where T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError<E>>, E: Error + Send + 'static,