Struct gdnative_bindings_lily::ArrayMesh [−][src]
pub struct ArrayMesh { /* fields omitted */ }
Expand description
core class ArrayMesh
inherits Mesh
(reference counted).
Official documentation
See the documentation of this class in the Godot engine’s official documentation. The method descriptions are generated from it and typically contain code samples in GDScript, not Rust.
Memory management
The lifetime of this object is automatically managed through reference counting.
Class hierarchy
ArrayMesh 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
Constants
Creates a new instance of this object.
This is a reference-counted type. The returned object is automatically managed
by Ref
.
Adds name for a blend shape that will be added with [method add_surface_from_arrays]. Must be called before surface is added.
pub fn add_surface_from_arrays(
&self,
primitive: i64,
arrays: VariantArray,
blend_shapes: VariantArray,
compress_flags: i64
)
pub fn add_surface_from_arrays(
&self,
primitive: i64,
arrays: VariantArray,
blend_shapes: VariantArray,
compress_flags: i64
)
Creates a new surface.
Surfaces are created to be rendered using a primitive
, which may be any of the types defined in [enum Mesh.PrimitiveType]. (As a note, when using indices, it is recommended to only use points, lines or triangles.) [method Mesh.get_surface_count] will become the surf_idx
for this new surface.
The arrays
argument is an array of arrays. See [enum ArrayType] for the values used in this array. For example, arrays[0]
is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into “index mode” where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for [constant ARRAY_INDEX] if it is used.
Adding an index array puts this function into “index mode” where the vertex and other arrays become the sources of data, and the index array defines the order of the vertices.
Default Arguments
blend_shapes
-[ ]
compress_flags
-97280
Removes all blend shapes from this ArrayMesh.
Returns the number of blend shapes that the ArrayMesh holds.
Sets the blend shape mode to one of [enum Mesh.BlendShapeMode].
Returns the name of the blend shape at this index.
Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
Will perform a UV unwrap on the ArrayMesh to prepare the mesh for lightmapping.
Will regenerate normal maps for the ArrayMesh.
Sets the blend shape mode to one of [enum Mesh.BlendShapeMode].
Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
Returns the index of the first surface with this name held within this ArrayMesh. If none are found, -1 is returned.
Returns the length in indices of the index array in the requested surface (see [method add_surface_from_arrays]).
Returns the length in vertices of the vertex array in the requested surface (see [method add_surface_from_arrays]).
Returns the format mask of the requested surface (see [method add_surface_from_arrays]).
Gets the name assigned to this surface.
Returns the primitive type of the requested surface (see [method add_surface_from_arrays]).
Removes a surface at position surf_idx
, shifting greater surfaces one surf_idx
slot down.
Sets a name for a given surface.
Updates a specified region of mesh arrays on the GPU. Warning: Only use if you know what you are doing. You can easily cause crashes by calling this function with improper arguments.
Methods from Deref<Target = Mesh>
Calculate a ConvexPolygonShape from the mesh.
Calculate an outline mesh at a defined offset (margin) from the original mesh. Note: This method typically returns the vertices in reverse order (e.g. clockwise to counterclockwise).
Calculate a ConcavePolygonShape from the mesh.
Generate a TriangleMesh from the mesh.
Returns the smallest [AABB] enclosing this mesh in local space. Not affected by custom_aabb
. See also [method VisualInstance.get_transformed_aabb].
Note: This is only implemented for ArrayMesh and PrimitiveMesh.
Returns all the vertices that make up the faces of the mesh. Each three vertices represent one triangle.
Sets a hint to be used for lightmap resolution in BakedLightmap. Overrides [member BakedLightmap.bake_default_texels_per_unit].
Returns the amount of surfaces that the Mesh holds.
Sets a hint to be used for lightmap resolution in BakedLightmap. Overrides [member BakedLightmap.bake_default_texels_per_unit].
Returns the arrays for the vertices, normals, uvs, etc. that make up the requested surface (see [method ArrayMesh.add_surface_from_arrays]).
Returns the blend shape arrays for the requested surface.
Returns a Material in a given surface. Surface is rendered using this material.
Trait Implementations
type RefKind = RefCounted
type RefKind = RefCounted
Creates an explicitly null reference of Self
as a method argument. This makes type
inference easier for the compiler compared to Option
. Read more
Creates a new instance of Self
using a zero-argument constructor, as a Unique
reference. Read more
Performs a dynamic reference downcast to target type. Read more
Performs a static reference upcast to a supertype that is guaranteed to be valid. Read more
Creates a persistent reference to the same Godot object with shared thread access. Read more
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
Creates a persistent reference to the same Godot object with thread-local thread access. Read more
Creates a persistent reference to the same Godot object with unique access. Read more
Recovers a instance ID previously returned by Object::get_instance_id
if the object is
still alive. See also TRef::try_from_instance_id
. Read more
Auto Trait Implementations
impl RefUnwindSafe for ArrayMesh
impl UnwindSafe for ArrayMesh