108 const Color &color,
bool cap_start =
true,
316 const std::vector<float> &
radii,
317 const std::vector<Color> &colors,
348 const std::vector<Vec3> &
ends,
349 const std::vector<float> &
radii,
350 const std::vector<Color> &colors,
383 const std::vector<float> &
radii,
384 const std::vector<Color> &colors,
The Mesh — the central data structure for 3D geometry in scimesh.
Mesh generate_multi_tubes(const std::vector< std::vector< Vec3 > > &paths, const std::vector< float > &radii, const std::vector< Color > &colors, int segments, bool caps)
Generate multiple tubes in a single mesh (efficient batching).
Mesh generate_pyramid(const Vec3 &base_center, const Vec3 &apex, float hw, const Color &color)
Generate a square-based pyramid.
Mesh generate_tetrahedron(const Vec3 &p0, const Vec3 &p1, const Vec3 &p2, const Vec3 &p3, const Color &color)
Generate a tetrahedron (triangular pyramid) from four points.
Mesh generate_sphere(const Vec3 ¢er, float radius, int segments, const Color &color)
Generate a UV-sphere (latitude/longitude tessellation).
glm::vec3 Vec3
3-component floating-point vector (xyz).
Mesh generate_cuboid(const Vec3 ¢er, const Vec3 &half, const Color &color)
Generate an axis-aligned cuboid (rectangular box).
void merge_mesh(Mesh &dst, const Mesh &src)
Merge one mesh into another (append geometry).
Mesh generate_arrow(const Vec3 &from, const Vec3 &to, float shaft_radius, float head_radius, float head_length, int segments, const Color &color)
Generate a 3D arrow from from to to.
Mesh generate_torus(const Vec3 ¢er, float R, float r, int seg_major, int seg_minor, const Color &color)
Generate a torus (donut shape).
Mesh generate_multi_spheres(const std::vector< Vec3 > ¢ers, const std::vector< float > &radii, const std::vector< Color > &colors, int segments)
Generate multiple spheres in a single mesh (efficient batching).
Mesh generate_cylinder(const Vec3 &start, const Vec3 &end, float radius, int segments, const Color &color, bool caps)
Generate a cylinder between two endpoints.
Mesh generate_multi_cylinders(const std::vector< Vec3 > &starts, const std::vector< Vec3 > &ends, const std::vector< float > &radii, const std::vector< Color > &colors, int segments, bool caps)
Generate multiple cylinders in a single mesh (efficient batching).
Mesh generate_plane(const Vec3 ¢er, const Vec3 &normal, float hx, float hy, const Color &color)
Generate a flat rectangular plane.
Mesh generate_cone(const Vec3 &base, const Vec3 &tip, float radius, int segments, const Color &color)
Generate a cone from a base circle to a tip point.
Mesh generate_tube(const std::vector< Vec3 > &path, float radius, int segments, const Color &color, bool cap_start, bool cap_end)
Generate a tube (generalized cylinder) along a polyline path.
int x
Left edge of the bitmap, in image pixels.