MCPcopy Create free account

hub / github.com/Hexorg/bevy_copperfield / functions

Functions181 in github.com/Hexorg/bevy_copperfield

↓ 92 callersMethodgoto
Initiate traversal of the mesh starting at a given edge
src/mesh.rs:332
↓ 70 callersMethodhalfedge
Returns the associate half-edge with whatever current position is [`Traversal`] also derefereces to this so you can say ``` use bevy::prelude::default
src/mesh/traversal.rs:236
↓ 43 callersMethoditer
(&'m self)
src/mesh/selection.rs:72
↓ 37 callersMethodface
Returns the associated face with a given position. If option is none, then the associated position is a boundary position (mesh ends there)
src/mesh/traversal.rs:249
↓ 32 callersMethodtwin
(self)
src/mesh/traversal.rs:338
↓ 31 callersFunctionextrude
(mesh: &mut HalfEdgeMesh, face: FaceId, length: f32)
src/mesh/face_ops.rs:73
↓ 30 callersMethoditer_loop
Iterate over a loop of edges (likely forming a face) E.g. ```text . ---- . / \ . . \.______./ ```
src/mesh/traversal.rs:170
↓ 30 callersMethodvertex
Returns the associate half-edge with whatever current position is
src/mesh/traversal.rs:242
↓ 25 callersFunctiontransform
(mesh: &mut HalfEdgeMesh, face: FaceId, transform: Transform)
src/mesh/face_ops.rs:8
↓ 24 callersMethodposition
(&self)
src/mesh/attributes.rs:179
↓ 23 callersMethodlen
(&self)
src/mesh/selection.rs:14
↓ 23 callersMethodnew_face
Create a new face and attach it to correct twin edges. This method does not modify twin edges if they already exist
src/mesh.rs:414
↓ 22 callersMethodnew_vertex
(&mut self)
src/mesh.rs:344
↓ 16 callersMethodnext
(&mut self)
src/mesh/selection.rs:154
↓ 15 callersMethoditer_outgoing
Iterate over all outgoing edges (Also known as edge fan) This results in iterating over all the edges that come out of the same vertex E.g. ```text \
src/mesh/traversal.rs:189
↓ 12 callersMethodattribute
Get an attribute
src/mesh.rs:618
↓ 11 callersMethodadd_attribute
Insert attributes into mesh. Faces, Edges, and Vertices can have their own attribute data
src/mesh.rs:609
↓ 11 callersMethodcontains
(mut self, pos: impl Into<MeshPosition> + Copy)
src/mesh/traversal.rs:67
↓ 10 callersMethodvertex_keys
(&self)
src/mesh.rs:600
↓ 9 callersMethodas_vertices_vec3_mut
(&mut self)
src/mesh/attributes.rs:65
↓ 9 callersMethodface_keys
(&self)
src/mesh.rs:596
↓ 8 callersMethodcalculate_normal
Fit a plane to a collection of points. Fast, and accurate to within a few degrees. Returns None if the points do not span a plane. https://www.ilikebi
src/mesh/attributes.rs:269
↓ 7 callersMethodedge_keys
(&self)
src/mesh.rs:604
↓ 7 callersMethodget_flow
Scans the nearby halfedges and returns incoming and outgoing boundary edges to this vertex Or `HalfEdgeId::default()` if those edges aren't found Half
src/mesh/traversal.rs:256
↓ 6 callersMethodas_vertices_vec3
(&self)
src/mesh/attributes.rs:58
↓ 6 callersMethodprocgen
(&self)
src/mesh_builders.rs:18
↓ 6 callersFunctionsample_mesh
Returns a mesh in the form ```text indices VertexId FaceId 0--3--5 1--4--6 +--+--+ | | | | | | |1 |2 | 1--2--4 2--3--5
src/mesh.rs:977
↓ 5 callersMethodcalculate_uvs
(&mut self)
src/mesh.rs:551
↓ 5 callersMethodsharpness
(&self)
src/mesh/attributes.rs:222
↓ 5 callersMethodtry_next
(mut self)
src/mesh/traversal.rs:349
↓ 4 callersMethodadjacent_faces
Iterate over all halfedges that have a face associated with them
src/mesh/traversal.rs:217
↓ 4 callersMethoditer_incoming
Iterate over all incoming edges (twins of outgoing edges) It's similar to outgoing, except all edges are twins E.g. ```text \ | / \|/ --- . --- /|\ /
src/mesh/traversal.rs:207
↓ 4 callersMethodnew_edge
(&mut self, edge: HalfEdge, mut twin: HalfEdge)
src/mesh.rs:349
↓ 4 callersMethodprevious
Get the previous vertex or edge in a face.
src/mesh/traversal.rs:313
↓ 4 callersMethodprint_mesh
(&self)
src/mesh.rs:660
↓ 4 callersFunctionsplit
Splits a face along two of its points that do not share an edge. old FaceId will be kept on the side along `v -> w` direction, and new face will be cr
src/mesh/face_ops.rs:36
↓ 3 callersMethodas_edge_vec2
(&self)
src/mesh/attributes.rs:86
↓ 3 callersMethodas_edge_vec2_mut
(&mut self)
src/mesh/attributes.rs:92
↓ 3 callersMethodcalculate_centroid
(&self)
src/mesh/attributes.rs:258
↓ 3 callersFunctionchamfer
(mesh: &mut HalfEdgeMesh, target: HalfEdgeId, factor: f32)
src/mesh/edge_ops.rs:119
↓ 3 callersFunctiondelete
Remove an edge, either making a mesh boundary
src/mesh/edge_ops.rs:12
↓ 3 callersMethodfind_halfedge_to
Get current vertex and scan over outgoing edges. If any of the edges land on `vertex` - return that edge.
src/mesh/traversal.rs:157
↓ 3 callersFunctionget_face_center_pos
(edge: HalfEdgeId, mesh: &HalfEdgeMesh)
examples/debug.rs:377
↓ 3 callersFunctionlscm
Section 2 of the [Least Squares Conformal Maps](https://dl.acm.org/doi/pdf/10.1145/566654.566590) paper. Given a set of charts, project each chart to
src/uvmesh/least_squares_conformal_maps.rs:73
↓ 3 callersFunctionstraight_line
(count: usize, is_face: bool)
src/mesh/traversal.rs:384
↓ 3 callersMethodtriangulate
(&self)
src/mesh/attributes.rs:234
↓ 2 callersFunctionadd_pawn_top
(mesh: &mut HalfEdgeMesh, top_face: FaceId)
examples/chess.rs:127
↓ 2 callersMethodattach_edge
Connect the mesh such that `edge_previous` will point to newly created edge and newly created `edge.next` will point to `edge_next` At the same time,
src/mesh.rs:370
↓ 2 callersMethodattribute_mut
Get an attribute
src/mesh.rs:623
↓ 2 callersMethodcmp
(&self, other: &Self)
src/uvmesh.rs:247
↓ 2 callersFunctiondelete
Removes a vertex, either making a mesh boundary, or filling it up with a new face
src/mesh/vertex_ops.rs:16
↓ 2 callersFunctionget_edge_pos
(edge: HalfEdgeId, mesh: &HalfEdgeMesh)
examples/debug.rs:385
↓ 2 callersMethodis_smooth_normals
(&self)
src/mesh/attributes.rs:196
↓ 2 callersFunctionmake_base
(diameter: f32, resolution: u32)
examples/chess.rs:12
↓ 2 callersFunctionmake_stick
(length: f32, transform: Transform)
examples/sticks.rs:13
↓ 2 callersMethodnext
(&mut self)
src/mesh/traversal.rs:80
↓ 2 callersMethodpartial_cmp
(&self, other: &Self)
src/uvmesh.rs:242
↓ 2 callersMethodselect
Go to a position and select it, allowing you to select more items to later act on as a group
src/mesh.rs:338
↓ 2 callersFunctionsplit
Split an edge and its twin, creating new vertex in-between Original edge is trimmed short, and new edge is inserted after edge, with `factor` specifyi
src/mesh/edge_ops.rs:69
↓ 2 callersFunctionsubdivide
Catmull-Clark subdivision. Based on [Wikipedia Article](https://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface)
src/mesh/mesh_ops.rs:26
↓ 2 callersMethodtry_twin
(mut self)
src/mesh/traversal.rs:359
↓ 1 callersMethodas_edge_bool
(&self)
src/mesh/attributes.rs:110
↓ 1 callersMethodas_edge_bool_mut
(&mut self)
src/mesh/attributes.rs:116
↓ 1 callersMethodas_edge_vec3_mut
(&mut self)
src/mesh/attributes.rs:104
↓ 1 callersMethodas_vertices_bool
(&self)
src/mesh/attributes.rs:72
↓ 1 callersMethodas_vertices_bool_mut
(&mut self)
src/mesh/attributes.rs:79
↓ 1 callersMethodas_vertices_u32_mut
(&mut self)
src/mesh/attributes.rs:37
↓ 1 callersMethodas_vertices_vec2_mut
(&mut self)
src/mesh/attributes.rs:51
↓ 1 callersMethodbuild
(self)
src/mesh/selection.rs:60
↓ 1 callersFunctionbuild_mesh
()
examples/debug.rs:81
↓ 1 callersFunctionchamfer
Chamfers a vertex by stitching a face from mid-points of the vertex's outgoing edges. Returns newly-created FaceId
src/mesh/vertex_ops.rs:31
↓ 1 callersFunctioncheck_self_intersection
( mesh: &HalfEdgeMesh, chart: &HashSet<FaceId>, map: &[(HalfEdgeId, Vec2)], )
src/uvmesh/least_squares_conformal_maps.rs:256
↓ 1 callersFunctionconjugate_gradient_least_squares
Solves Ax = b matrix in a least-squares way. A does not need to be diagonal, or square. Based on https://web.stanford.edu/group/SOL/software/cgls/
src/uvmesh/least_squares_conformal_maps.rs:18
↓ 1 callersFunctioncreate_charts
Based on [Xatlas](https://github.com/jpcy/xatlas/tree/master)'s implementation and https://dl.acm.org/doi/10.1145/566654.566590 paper
src/uvmesh.rs:111
↓ 1 callersFunctioncube
(mesh: &mut HalfEdgeMesh, transform: Transform)
src/uvmesh/primitive_mapping.rs:25
↓ 1 callersFunctioncuboid_tests
()
examples/debug.rs:25
↓ 1 callersFunctiondelete
Removes a vertex, either making a mesh boundary, or filling it up with a new face
src/mesh/face_ops.rs:25
↓ 1 callersFunctiondfs
( mesh: &HalfEdgeMesh, start_pos: Vec3, pos: HalfEdgeId, string: Vec<HalfEdgeI
src/uvmesh.rs:171
↓ 1 callersFunctioneigen_solver3_QL_algorithm
(mut mat:Mat3, mut diag:[f32;3], mut subd:[f32;3])
src/uvmesh/fit.rs:80
↓ 1 callersFunctioneigen_solver3_tridiagonal
Householder reduction T = Q^t M Q Input: mat, symmetric 3x3 matrix M Output: mat, orthogonal matrix Q diag, diagonal entries of T subd, subdiagonal en
src/uvmesh/fit.rs:50
↓ 1 callersFunctionexpand_charts
( mesh: &HalfEdgeMesh, seeds: &[FaceId], distances: &SecondaryMap<FaceId, usize>, )
src/uvmesh.rs:298
↓ 1 callersFunctionexpand_feature_curve
( mesh: &mut HalfEdgeMesh, neighborhood_edges: &mut HashSet<HalfEdgeId>, start: HalfEdgeId, )
src/uvmesh.rs:164
↓ 1 callersMethodface_count
How many faces are currently allocated
src/mesh.rs:582
↓ 1 callersFunctionfind_distance_to_features_with_dikstra
( mesh: &HalfEdgeMesh, features: &[FaceId], )
src/uvmesh.rs:227
↓ 1 callersMethodget_mesh_halfedge
(self, _: &HalfEdgeMesh)
src/mesh.rs:93
↓ 1 callersMethodget_mesh_position
(self, _: &HalfEdgeMesh)
src/mesh.rs:89
↓ 1 callersMethodhalfedge_to
Get current vertex and scan over outgoing edges. If any of the edges land on `vertex` - return that edge. Panics if halfedge is not found
src/mesh/traversal.rs:149
↓ 1 callersFunctioninsert
( mesh: &HalfEdgeMesh, chart: &mut HashSet<FaceId>,
src/uvmesh/least_squares_conformal_maps.rs:299
↓ 1 callersFunctioninvert_normals
Invert winding of all faces in a mesh. Since normal direction is calculated based of face winding, this effectively inverses normals.
src/mesh/mesh_ops.rs:143
↓ 1 callersMethodis_uv_seam
(&self)
src/mesh/attributes.rs:211
↓ 1 callersMethodjoin
(&mut self, other: &HalfEdgeMesh)
src/mesh.rs:682
↓ 1 callersFunctionmake_fence
(length: f32)
examples/sticks.rs:66
↓ 1 callersMethodnext_or_twin
Traverse to the next half-edge or to its twin if the next pointer is invalid (happens during first face construction)
src/mesh/traversal.rs:302
↓ 1 callersMethodprevious_or_twin
Get the previous vertex or edge in a face or to its twin if the next pointer is invalid (happens during first face construction)
src/mesh/traversal.rs:328
↓ 1 callersFunctionproject
(mesh: &mut HalfEdgeMesh, charts: Vec<Chart>)
src/uvmesh/least_squares_conformal_maps.rs:213
↓ 1 callersFunctionsample_mesh
Returns a mesh in the form ```text indices VertexId FaceId 0--3--5 1--4--6 +--+--+ | | | | | | |1 |2 | 1--2--4 2--3--5
examples/debug.rs:550
↓ 1 callersMethodselect_faces
Selects adjacent faces of vertices and exact faces of halfedges
src/mesh/selection.rs:125
↓ 1 callersMethodselect_vertex
Convert current position into vertex selection
src/mesh/traversal.rs:130
↓ 1 callersFunctionsphere
(mesh: &mut HalfEdgeMesh, sphere_center: Vec3, sphere_radius: Vec3)
src/uvmesh/primitive_mapping.rs:12
↓ 1 callersMethoduv
(&self)
src/mesh/attributes.rs:188
next →1–100 of 181, ranked by callers