[][src]Struct gdnative::api::Mesh

pub struct Mesh { /* fields omitted */ }

core class Mesh 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

Mesh 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 Mesh[src]

Constants

pub const ARRAY_BONES: i64[src]

pub const ARRAY_COLOR: i64[src]

pub const ARRAY_COMPRESS_BASE: i64[src]

pub const ARRAY_COMPRESS_BONES: i64[src]

pub const ARRAY_COMPRESS_COLOR: i64[src]

pub const ARRAY_COMPRESS_DEFAULT: i64[src]

pub const ARRAY_COMPRESS_INDEX: i64[src]

pub const ARRAY_COMPRESS_NORMAL: i64[src]

pub const ARRAY_COMPRESS_TANGENT: i64[src]

pub const ARRAY_COMPRESS_TEX_UV: i64[src]

pub const ARRAY_COMPRESS_TEX_UV2: i64[src]

pub const ARRAY_COMPRESS_VERTEX: i64[src]

pub const ARRAY_COMPRESS_WEIGHTS: i64[src]

pub const ARRAY_FLAG_USE_16_BIT_BONES: i64[src]

pub const ARRAY_FLAG_USE_2D_VERTICES: i64[src]

pub const ARRAY_FORMAT_BONES: i64[src]

pub const ARRAY_FORMAT_COLOR: i64[src]

pub const ARRAY_FORMAT_INDEX: i64[src]

pub const ARRAY_FORMAT_NORMAL: i64[src]

pub const ARRAY_FORMAT_TANGENT: i64[src]

pub const ARRAY_FORMAT_TEX_UV: i64[src]

pub const ARRAY_FORMAT_TEX_UV2: i64[src]

pub const ARRAY_FORMAT_VERTEX: i64[src]

pub const ARRAY_FORMAT_WEIGHTS: i64[src]

pub const ARRAY_INDEX: i64[src]

pub const ARRAY_MAX: i64[src]

pub const ARRAY_NORMAL: i64[src]

pub const ARRAY_TANGENT: i64[src]

pub const ARRAY_TEX_UV: i64[src]

pub const ARRAY_TEX_UV2: i64[src]

pub const ARRAY_VERTEX: i64[src]

pub const ARRAY_WEIGHTS: i64[src]

pub const BLEND_SHAPE_MODE_NORMALIZED: i64[src]

pub const BLEND_SHAPE_MODE_RELATIVE: i64[src]

pub const PRIMITIVE_LINES: i64[src]

pub const PRIMITIVE_LINE_LOOP: i64[src]

pub const PRIMITIVE_LINE_STRIP: i64[src]

pub const PRIMITIVE_POINTS: i64[src]

pub const PRIMITIVE_TRIANGLES: i64[src]

pub const PRIMITIVE_TRIANGLE_FAN: i64[src]

pub const PRIMITIVE_TRIANGLE_STRIP: i64[src]

impl Mesh[src]

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

Calculate a [ConvexPolygonShape] from the mesh.

pub fn create_outline(&self, margin: f64) -> Option<Ref<Mesh, Shared>>[src]

Calculate an outline mesh at a defined offset (margin) from the original mesh.
				[b]Note:[/b] This method typically returns the vertices in reverse order (e.g. clockwise to counterclockwise).

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

Calculate a [ConcavePolygonShape] from the mesh.

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

Generate a [TriangleMesh] from the mesh.

pub fn get_aabb(&self) -> Aabb[src]

Returns the smallest [AABB] enclosing this mesh in local space. Not affected by [code]custom_aabb[/code]. See also [method VisualInstance.get_transformed_aabb].
				[b]Note:[/b] This is only implemented for [ArrayMesh] and [PrimitiveMesh].

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

Returns all the vertices that make up the faces of the mesh. Each three vertices represent one triangle.

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

Sets a hint to be used for lightmap resolution in [BakedLightmap]. Overrides [member BakedLightmap.bake_default_texels_per_unit].

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

Returns the amount of surfaces that the [Mesh] holds.

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

Sets a hint to be used for lightmap resolution in [BakedLightmap]. Overrides [member BakedLightmap.bake_default_texels_per_unit].

pub fn surface_get_arrays(&self, surf_idx: i64) -> VariantArray<Shared>[src]

Returns the arrays for the vertices, normals, uvs, etc. that make up the requested surface (see [method ArrayMesh.add_surface_from_arrays]).

pub fn surface_get_blend_shape_arrays(
    &self,
    surf_idx: i64
) -> VariantArray<Shared>
[src]

Returns the blend shape arrays for the requested surface.

pub fn surface_get_material(
    &self,
    surf_idx: i64
) -> Option<Ref<Material, Shared>>
[src]

Returns a [Material] in a given surface. Surface is rendered using this material.

pub fn surface_set_material(
    &self,
    surf_idx: i64,
    material: impl AsArg<Material>
)
[src]

Sets a [Material] for a given surface. Surface will be rendered using this material.

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 Mesh[src]

impl Deref for Mesh[src]

type Target = Resource

The resulting type after dereferencing.

impl DerefMut for Mesh[src]

impl GodotObject for Mesh[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

impl SubClass<Mesh> for PrismMesh[src]

impl SubClass<Mesh> for ArrayMesh[src]

impl SubClass<Mesh> for QuadMesh[src]

impl SubClass<Mesh> for PrimitiveMesh[src]

impl SubClass<Mesh> for SphereMesh[src]

impl SubClass<Mesh> for PointMesh[src]

impl SubClass<Mesh> for CubeMesh[src]

impl SubClass<Mesh> for PlaneMesh[src]

impl SubClass<Mesh> for CapsuleMesh[src]

impl SubClass<Mesh> for CylinderMesh[src]

impl SubClass<Object> for Mesh[src]

impl SubClass<Reference> for Mesh[src]

impl SubClass<Resource> for Mesh[src]

Auto Trait Implementations

impl RefUnwindSafe for Mesh

impl !Send for Mesh

impl !Sync for Mesh

impl Unpin for Mesh

impl UnwindSafe for Mesh

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.