Uranium
Application Framework
Loading...
Searching...
No Matches
UM.Mesh.MeshData.MeshData Class Reference

Class to hold a list of verts and possibly how (and if) they are connected. More...

Public Member Functions

 __init__ (self, vertices=None, normals=None, indices=None, colors=None, uvs=None, file_name=None, center_position=None, zero_position=None, type=MeshType.faces, attributes=None)
 
"MeshData" set (self, vertices=Reuse, normals=Reuse, indices=Reuse, colors=Reuse, uvs=Reuse, file_name=Reuse, center_position=Reuse, zero_position=Reuse, attributes=Reuse)
 Create a new MeshData with specified changes.
 
 getHash (self)
 
Vector getCenterPosition (self)
 
Vector getZeroPosition (self)
 
 getType (self)
 
int getFaceCount (self)
 
numpy.ndarray getVertices (self)
 Get the array of vertices.
 
int getVertexCount (self)
 Get the number of vertices.
 
 getVertex (self, index)
 Get a vertex by index.
 
bool hasNormals (self)
 Return whether this mesh has vertex normals.
 
numpy.ndarray getNormals (self)
 Return the list of vertex normals.
 
bool hasIndices (self)
 Return whether this mesh has indices.
 
numpy.ndarray getIndices (self)
 Get the array of indices.
 
bool hasColors (self)
 
numpy.ndarray getColors (self)
 
bool hasUVCoordinates (self)
 
str getFileName (self)
 
"MeshData" getTransformed (self, Matrix transformation)
 Transform the meshdata, center and zero position by given Matrix.
 
Optional[AxisAlignedBoxgetExtents (self, Optional[Matrix] matrix=None)
 Get the extents of this mesh.
 
Optional[bytes] getVerticesAsByteArray (self)
 Get all vertices of this mesh as a bytearray.
 
Optional[bytes] getNormalsAsByteArray (self)
 Get all normals of this mesh as a bytearray.
 
Optional[bytes] getIndicesAsByteArray (self)
 Get all indices as a bytearray.
 
Optional[bytes] getColorsAsByteArray (self)
 
Optional[bytes] getUVCoordinatesAsByteArray (self)
 
Optional[scipy.spatial.ConvexHull] getConvexHull (self)
 Gets the Convex Hull of this mesh.
 
numpy.ndarray getConvexHullVertices (self)
 Gets the convex hull points.
 
Optional[numpy.ndarray] getConvexHullTransformedVertices (self, Matrix transformation)
 Gets transformed convex hull points.
 
bool hasAttribute (self, str key)
 
 getAttribute (self, str key)
 the return value is a dict with at least keys opengl_name, opengl_type, value
 
List[str] attributeNames (self)
 Return attribute names in alphabetical order The sorting assures that the order is always the same.
 
str toString (self)
 

Protected Member Functions

 _computeConvexHull (self)
 Convex hull handling.
 

Protected Attributes

 _vertices
 
 _normals
 
 _indices
 
 _colors
 
 _uvs
 
 _vertex_count
 
 _face_count
 
 _type
 
 _file_name
 
 _center_position
 
 _zero_position
 
 _convex_hull
 
 _convex_hull_vertices
 
 _convex_hull_lock
 
 _attributes
 

Detailed Description

Class to hold a list of verts and possibly how (and if) they are connected.

This class stores three numpy arrays that contain the data for a mesh. Vertices are stored as a two-dimensional array of floats with the rows being individual vertices and the three columns being the X, Y and Z components of the vertices. Normals are stored in the same manner and kept in sync with the vertices. Indices are stored as a two-dimensional array of integers with the rows being the individual faces and the three columns being the indices that refer to the individual vertices.

attributes: a dict with {"value", "opengl_type", "opengl_name"} type in vector2f, vector3f, uniforms, ...

Member Function Documentation

◆ getConvexHull()

Optional[scipy.spatial.ConvexHull] UM.Mesh.MeshData.MeshData.getConvexHull (   self)

Gets the Convex Hull of this mesh.

Returns
scipy.spatial.ConvexHull

◆ getConvexHullTransformedVertices()

Optional[numpy.ndarray] UM.Mesh.MeshData.MeshData.getConvexHullTransformedVertices (   self,
Matrix  transformation 
)

Gets transformed convex hull points.

Returns
numpy.ndarray the vertices which describe the convex hull

◆ getConvexHullVertices()

numpy.ndarray UM.Mesh.MeshData.MeshData.getConvexHullVertices (   self)

Gets the convex hull points.

Returns
numpy.ndarray the vertices which describe the convex hull

◆ getExtents()

Optional[AxisAlignedBox] UM.Mesh.MeshData.MeshData.getExtents (   self,
Optional[Matrix]   matrix = None 
)

Get the extents of this mesh.

Parameters
matrixThe transformation matrix from model to world coordinates.

◆ getIndices()

numpy.ndarray UM.Mesh.MeshData.MeshData.getIndices (   self)

Get the array of indices.

Returns
numpy.ndarray

◆ getIndicesAsByteArray()

Optional[bytes] UM.Mesh.MeshData.MeshData.getIndicesAsByteArray (   self)

Get all indices as a bytearray.

Returns
A bytearray object with 3 ints per face.

◆ getNormalsAsByteArray()

Optional[bytes] UM.Mesh.MeshData.MeshData.getNormalsAsByteArray (   self)

Get all normals of this mesh as a bytearray.

Returns
A bytearray object with 3 floats per normal.

◆ getTransformed()

"MeshData" UM.Mesh.MeshData.MeshData.getTransformed (   self,
Matrix  transformation 
)

Transform the meshdata, center and zero position by given Matrix.

Parameters
transformation4x4 homogenous transformation matrix

◆ getVerticesAsByteArray()

Optional[bytes] UM.Mesh.MeshData.MeshData.getVerticesAsByteArray (   self)

Get all vertices of this mesh as a bytearray.

Returns
A bytearray object with 3 floats per vertex.

◆ set()

"MeshData" UM.Mesh.MeshData.MeshData.set (   self,
  vertices = Reuse,
  normals = Reuse,
  indices = Reuse,
  colors = Reuse,
  uvs = Reuse,
  file_name = Reuse,
  center_position = Reuse,
  zero_position = Reuse,
  attributes = Reuse 
)

Create a new MeshData with specified changes.

Returns
MeshData

The documentation for this class was generated from the following file: