var searchIndex = {}; searchIndex["ncollide_procedural"] = {"doc":"Procedural mesh generation.","items":[[3,"TriMesh","ncollide_procedural","Shapeetric description of a mesh.",null,null],[12,"coords","","Coordinates of the mesh vertices.",0,null],[12,"normals","","Coordinates of the mesh normals.",0,null],[12,"uvs","","Textures coordinates of the mesh.",0,null],[12,"indices","","Index buffer of the mesh.",0,null],[3,"Polyline","","Shapeetric description of a polyline.",null,null],[12,"coords","","Coordinates of the polyline vertices.",1,null],[12,"normals","","Coordinates of the polyline normals.",1,null],[4,"IndexBuffer","","Different representations of the index buffer.",null,null],[13,"Unified","","The vertex, normal, and uvs share the same indices.",2,null],[13,"Split","","The vertex, normal, and uvs have different indices.",2,null],[5,"bezier_surface","","Given a set of control points, generates a (non-rational) Bezier surface.",null,null],[5,"bezier_curve","","Given a set of control points, generates a (non-rational) Bezier curve.",null,null],[5,"capsule","","Generates a capsule.",null,{"inputs":[{"name":"n"},{"name":"n"},{"name":"u32"},{"name":"u32"}],"output":{"name":"trimesh"}}],[5,"unit_cone","","Generates a cone with unit height and diameter.",null,{"inputs":[{"name":"u32"}],"output":{"name":"trimesh"}}],[5,"cone","","Generates a cone with a given height and diameter.",null,{"inputs":[{"name":"n"},{"name":"n"},{"name":"u32"}],"output":{"name":"trimesh"}}],[5,"cuboid","","Generates a cuboid shape with a split index buffer.",null,{"inputs":[{"name":"vec3"}],"output":{"name":"trimesh"}}],[5,"unit_cuboid","","Generates a cuboid shape with a split index buffer.",null,{"inputs":[],"output":{"name":"trimesh"}}],[5,"rectangle","","The contour of a cuboid lying on the x-y plane.",null,{"inputs":[{"name":"vect"}],"output":{"name":"polyline"}}],[5,"unit_rectangle","","The contour of a unit cuboid lying on the x-y plane.",null,{"inputs":[],"output":{"name":"polyline"}}],[5,"unit_cylinder","","Generates a cylinder with unit height and diameter.",null,{"inputs":[{"name":"u32"}],"output":{"name":"trimesh"}}],[5,"cylinder","","Generates a cylinder with a given height and diameter.",null,{"inputs":[{"name":"n"},{"name":"n"},{"name":"u32"}],"output":{"name":"trimesh"}}],[5,"quad","","Adds a double-sided quad to the scene.",null,null],[5,"unit_quad","","Adds a double-sided quad with unit size to the scene.",null,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"trimesh"}}],[5,"quad_with_vertices","","Adds a double-sided quad with the specified grid of vertices.",null,null],[5,"sphere","","Generates a UV sphere.",null,{"inputs":[{"name":"n"},{"name":"u32"},{"name":"u32"},{"name":"bool"}],"output":{"name":"trimesh"}}],[5,"unit_sphere","","Generates a UV sphere centered at the origin and with a unit diameter.",null,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"bool"}],"output":{"name":"trimesh"}}],[5,"circle","","Creates a circle lying on the `(x,y)` plane.",null,null],[5,"unit_circle","","Creates a circle lying on the `(x,y)` plane.",null,{"inputs":[{"name":"u32"}],"output":{"name":"polyline"}}],[5,"unit_hemisphere","","Creates an hemisphere with a diameter of 1.",null,{"inputs":[{"name":"u32"},{"name":"u32"}],"output":{"name":"trimesh"}}],[0,"utils","","Utilities useful for various generations tasks.",null,null],[5,"push_circle","ncollide_procedural::utils","Pushes a discretized counterclockwise circle to a buffer.",null,{"inputs":[{"name":"n"},{"name":"u32"},{"name":"n"},{"name":"n"},{"name":"vec"}],"output":null}],[5,"push_xy_arc","","Pushes a discretized counterclockwise circle to a buffer.\nThe circle is contained on the plane spanned by the `x` and `y` axis.",null,{"inputs":[{"name":"n"},{"name":"u32"},{"name":"n"},{"name":"vec"}],"output":null}],[5,"push_ring_indices","","Creates the faces from two circles with the same discretization.",null,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"u32"},{"name":"vec"}],"output":null}],[5,"push_open_ring_indices","","Creates the faces from two circles with the same discretization.",null,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"u32"},{"name":"vec"}],"output":null}],[5,"push_degenerate_top_ring_indices","","Creates the faces from a circle and a point that is shared by all triangle.",null,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"u32"},{"name":"vec"}],"output":null}],[5,"push_degenerate_open_top_ring_indices","","Creates the faces from a circle and a point that is shared by all triangle.",null,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"u32"},{"name":"vec"}],"output":null}],[5,"push_filled_circle_indices","","Pushes indices so that a circle is filled with triangles. Each triangle will have the\n`base_circle` point in common.\nPushes `nsubdiv - 2` elements to `out`.",null,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"vec"}],"output":null}],[5,"push_rectangle_indices","","Given four corner points, pushes to two counterclockwise triangles to `out`.",null,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"},{"name":"t"},{"name":"vec"}],"output":null}],[5,"reverse_clockwising","","Reverses the clockwising of a set of faces.",null,null],[5,"split_index_buffer","","Duplicates the indices of each triangle on the given index buffer.",null,null],[5,"split_index_buffer_and_recover_topology","","Duplicates the indices of each triangle on the given index buffer, giving the same id to each\nidentical vertex.",null,null],[5,"compute_normals","","Computes the normals of a set of vertices.",null,null],[0,"path","ncollide_procedural","Path generation.",null,null],[3,"PolylinePattern","ncollide_procedural::path","A pattern composed of polyline and two caps.",null,null],[3,"PolylinePath","","A path with its sample points given by a polyline.",null,null],[3,"ArrowheadCap","","A cap that looks like an arrow.",null,null],[3,"NoCap","","A cap that renders nothing.",null,null],[4,"PathSample","","A sample point and its associated tangent.",null,null],[13,"StartPoint","","A point that starts a new path.",3,null],[13,"InnerPoint","","A point that is inside of the path currently generated.",3,null],[13,"EndPoint","","A point that ends the path currently generated.",3,null],[13,"EndOfSample","","Used when the sampler does not have any other points to generate.",3,null],[11,"new","","Creates a new `NoCap`.",4,{"inputs":[],"output":{"name":"nocap"}}],[11,"gen_start_cap","","",4,null],[11,"gen_end_cap","","",4,null],[11,"new","","Creates a cap that looks like an arrow.",5,{"inputs":[{"name":"n"},{"name":"n"},{"name":"n"}],"output":{"name":"arrowheadcap"}}],[11,"gen_end_cap","","",5,null],[11,"gen_start_cap","","",5,null],[11,"new","","Creates a new polyline pattern.",6,{"inputs":[{"name":"polyline"},{"name":"bool"},{"name":"c1"},{"name":"c2"}],"output":{"name":"polylinepattern"}}],[11,"stroke","","",6,null],[11,"new","","Creates a new polyline-based path.",7,{"inputs":[{"name":"polyline"}],"output":{"name":"polylinepath"}}],[11,"next","","",7,null],[8,"CurveSampler","","A curve sampler.",null,null],[10,"next","","Returns the next sample point.",8,null],[8,"StrokePattern","","A pattern that is replicated along a path.",null,null],[10,"stroke","","Generates the mesh using this pattern and the curve sampled by `sampler`.",9,null],[8,"PolylineCompatibleCap","","Trait to be implemented by caps compatible with a `PolylinePattern`.",null,null],[10,"gen_start_cap","","Generates the mesh for the cap at the beginning of a path.",10,null],[10,"gen_end_cap","","Generates the mesh for the cap at the end of a path.",10,null],[11,"fmt","ncollide_procedural","",2,null],[11,"clone","","",2,null],[11,"unwrap_unified","","Returns the unified index buffer data or fails.",2,null],[11,"unwrap_split","","Returns the split index buffer data or fails.",2,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"new","","Creates a new `TriMesh`.",0,{"inputs":[{"name":"vec"},{"name":"option"},{"name":"option"},{"name":"option"}],"output":{"name":"trimesh"}}],[11,"has_normals","","Whether or not this triangle mesh has normals.",0,null],[11,"has_uvs","","Whether or not this triangle mesh has texture coordinates.",0,null],[11,"translate_by","","Translates each vertex of this mesh.",0,null],[11,"transform_by","","Transforms each vertex and rotates each normal of this mesh.",0,null],[11,"num_triangles","","The number of triangles on this mesh.",0,null],[11,"rotate_by","","Rotates each vertex and normal of this mesh.",0,null],[11,"recompute_normals","","Recomputes the mesh normals using its vertex coordinates and adjascency informations\ninfered from the index buffer.",0,null],[11,"scale_by","","Scales each vertex of this mesh.",0,null],[11,"scale_by_scalar","","Scales each vertex of this mesh.",0,null],[11,"unify_index_buffer","","Force the mesh to use the same index for vertices, normals and uvs.",0,null],[11,"split_index_buffer","","Forces the mesh to use a different index for the vertices, normals and uvs.",0,null],[11,"clone","","",1,null],[11,"new","","Creates a new polyline.",1,{"inputs":[{"name":"vec"},{"name":"option"}],"output":{"name":"polyline"}}],[11,"translate_by","","Translates each vertex of this polyline.",1,null],[11,"rotate_by","","Rotates each vertex and normal of this polyline.",1,null],[11,"transform_by","","Transforms each vertex and rotates each normal of this polyline.",1,null],[11,"scale_by_scalar","","Scales each vertex of this polyline.",1,null],[11,"scale_by","","Scales each vertex of this mesh.",1,null],[6,"TriMesh3","","A 3D triangle mesh.",null,null],[6,"Polyline3","","A 3D polyline.",null,null],[6,"TriMesh2","","A 2D triangle mesh.",null,null],[6,"Polyline2","","A 2D polyline.",null,null]],"paths":[[3,"TriMesh"],[3,"Polyline"],[4,"IndexBuffer"],[4,"PathSample"],[3,"NoCap"],[3,"ArrowheadCap"],[3,"PolylinePattern"],[3,"PolylinePath"],[8,"CurveSampler"],[8,"StrokePattern"],[8,"PolylineCompatibleCap"]]}; initSearch(searchIndex);