OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
TriangleMesh.hpp File Reference
#include "libslic3r.h"
#include <admesh/stl.h>
#include <cstdint>
#include <cstddef>
#include <cassert>
#include <array>
#include <cereal/specialize.hpp>
#include <functional>
#include <utility>
#include <vector>
#include "BoundingBox.hpp"
#include "Line.hpp"
#include "Point.hpp"
#include "Polygon.hpp"
#include "ExPolygon.hpp"
#include "Format/STL.hpp"
#include <cereal/access.hpp>
Include dependency graph for TriangleMesh.hpp:

Go to the source code of this file.

Classes

struct  Slic3r::RepairedMeshErrors
struct  Slic3r::TriangleMeshStats
class  Slic3r::TriangleMesh
struct  Slic3r::VertexFaceIndex
struct  Slic3r::MassProperties
struct  cereal::specialize< Archive, Slic3r::TriangleMesh, cereal::specialization::non_member_load_save >

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  cereal
 External Cereal serialization of ExPolygons.

Typedefs

using Slic3r::its_triangle = std::array<stl_vertex, 3>

Functions

std::vector< Vec3i32 > Slic3r::its_face_edge_ids (const indexed_triangle_set &its)
std::vector< Vec3i32 > Slic3r::its_face_edge_ids (const indexed_triangle_set &its, std::function< void()> throw_on_cancel_callback)
std::vector< Vec3i32 > Slic3r::its_face_edge_ids (const indexed_triangle_set &its, const std::vector< bool > &face_mask)
std::vector< Vec3i32 > Slic3r::its_face_edge_ids (const indexed_triangle_set &its, std::vector< Vec3i32 > &face_neighbors, bool assign_unbound_edges, int *num_edges)
std::vector< Vec3i32 > Slic3r::its_face_neighbors (const indexed_triangle_set &its)
std::vector< Vec3i32 > Slic3r::its_face_neighbors_par (const indexed_triangle_set &its)
void Slic3r::its_flip_triangles (indexed_triangle_set &its)
int Slic3r::its_merge_vertices (indexed_triangle_set &its, bool shrink_to_fit)
int Slic3r::its_remove_degenerate_faces (indexed_triangle_set &its, bool shrink_to_fit)
int Slic3r::its_compactify_vertices (indexed_triangle_set &its, bool shrink_to_fit)
bool Slic3r::its_store_triangle (const indexed_triangle_set &its, const char *obj_filename, size_t triangle_index)
bool Slic3r::its_store_triangles (const indexed_triangle_set &its, const char *obj_filename, const std::vector< size_t > &triangles)
std::vector< indexed_triangle_set > Slic3r::its_split (const indexed_triangle_set &its)
std::vector< indexed_triangle_set > Slic3r::its_split (const indexed_triangle_set &its, std::vector< Vec3i32 > &face_neighbors)
size_t Slic3r::its_number_of_patches (const indexed_triangle_set &its)
size_t Slic3r::its_number_of_patches (const indexed_triangle_set &its, const std::vector< Vec3i32 > &face_neighbors)
bool Slic3r::its_is_splittable (const indexed_triangle_set &its)
bool Slic3r::its_is_splittable (const indexed_triangle_set &its, const std::vector< Vec3i32 > &face_neighbors)
size_t Slic3r::its_num_open_edges (const indexed_triangle_set &its)
size_t Slic3r::its_num_open_edges (const std::vector< Vec3i32 > &face_neighbors)
void Slic3r::its_shrink_to_fit (indexed_triangle_set &its)
void Slic3r::its_collect_mesh_projection_points_above (const indexed_triangle_set &its, const Matrix3f &m, const float z, Points &all_pts)
void Slic3r::its_collect_mesh_projection_points_above (const indexed_triangle_set &its, const Transform3f &t, const float z, Points &all_pts)
Polygon Slic3r::its_convex_hull_2d_above (const indexed_triangle_set &its, const Matrix3f &m, const float z)
Polygon Slic3r::its_convex_hull_2d_above (const indexed_triangle_set &its, const Transform3f &t, const float z)
int Slic3r::its_triangle_vertex_index (const stl_triangle_vertex_indices &triangle_indices, int vertex_idx)
Vec2i32 Slic3r::its_triangle_edge (const stl_triangle_vertex_indices &triangle_indices, int edge_idx)
int Slic3r::its_triangle_edge_index (const stl_triangle_vertex_indices &triangle_indices, const Vec2i32 &triangle_edge)
bool Slic3r::its_triangle_vertex_the_same (const stl_triangle_vertex_indices &triangle_indices_1, const stl_triangle_vertex_indices &triangle_indices_2)
its_triangle Slic3r::its_triangle_vertices (const indexed_triangle_set &its, size_t face_id)
stl_normal Slic3r::its_unnormalized_normal (const indexed_triangle_set &its, size_t face_id)
float Slic3r::its_volume (const indexed_triangle_set &its)
MassProperties Slic3r::its_mass_properties (const indexed_triangle_set &its)
float Slic3r::its_average_edge_length (const indexed_triangle_set &its)
void Slic3r::its_merge (indexed_triangle_set &A, const indexed_triangle_set &B)
void Slic3r::its_merge (indexed_triangle_set &A, const std::vector< Vec3f > &triangles)
void Slic3r::its_merge (indexed_triangle_set &A, const Pointf3s &triangles)
std::vector< Vec3f > Slic3r::its_face_normals (const indexed_triangle_set &its)
Vec3f Slic3r::face_normal (const stl_vertex vertex[3])
Vec3f Slic3r::face_normal_normalized (const stl_vertex vertex[3])
Vec3f Slic3r::its_face_normal (const indexed_triangle_set &its, const stl_triangle_vertex_indices face)
Vec3f Slic3r::its_face_normal (const indexed_triangle_set &its, const int face_idx)
std::vector< Vec3f > Slic3r::its_smooth_corner_normals (const indexed_triangle_set &its, double threshold_degrees)
indexed_triangle_set Slic3r::its_make_cube (double xd, double yd, double zd)
indexed_triangle_set Slic3r::its_make_prism (float width, float length, float height)
indexed_triangle_set Slic3r::its_make_cylinder (double r, double h, double fa)
indexed_triangle_set Slic3r::its_make_cone (double r, double h, double fa)
indexed_triangle_set Slic3r::its_make_frustum (double r, double h, double fa)
indexed_triangle_set Slic3r::its_make_torus (double r, double h, double fa)
indexed_triangle_set Slic3r::its_make_frustum_dowel (double radius, double h, int sectorCount)
indexed_triangle_set Slic3r::its_make_pyramid (float base, float height)
indexed_triangle_set Slic3r::its_make_sphere (double radius, double fa)
indexed_triangle_set Slic3r::its_make_snap (double r, double h, float space_proportion, float bulge_proportion)
indexed_triangle_set Slic3r::its_make_groove_plane (const Groove &cur_groove, float rotate_radius, std::vector< Vec3d > &cur_groove_vertices)
indexed_triangle_set Slic3r::its_convex_hull (const std::vector< Vec3f > &pts)
indexed_triangle_set Slic3r::its_convex_hull (const indexed_triangle_set &its)
TriangleMesh Slic3r::make_cube (double x, double y, double z)
TriangleMesh Slic3r::make_prism (float width, float length, float height)
TriangleMesh Slic3r::make_cylinder (double r, double h, double fa=(2 *PI/180))
TriangleMesh Slic3r::make_cone (double r, double h, double fa=(2 *PI/180))
TriangleMesh Slic3r::make_pyramid (float base, float height)
TriangleMesh Slic3r::make_sphere (double rho, double fa=(2 *PI/90))
TriangleMesh Slic3r::make_torus (double r, double h, double fa=(PI/60))
bool Slic3r::its_write_stl_ascii (const char *file, const char *label, const std::vector< stl_triangle_vertex_indices > &indices, const std::vector< stl_vertex > &vertices)
bool Slic3r::its_write_stl_ascii (const char *file, const char *label, const indexed_triangle_set &its)
bool Slic3r::its_write_stl_binary (const char *file, const char *label, const std::vector< stl_triangle_vertex_indices > &indices, const std::vector< stl_vertex > &vertices)
bool Slic3r::its_write_stl_binary (const char *file, const char *label, const indexed_triangle_set &its)
BoundingBoxf3 Slic3r::bounding_box (const TriangleMesh &m)
BoundingBoxf3 Slic3r::bounding_box (const indexed_triangle_set &its)
template<class Archive>
void cereal::load (Archive &archive, Slic3r::TriangleMesh &mesh)
template<class Archive>
void cereal::save (Archive &archive, const Slic3r::TriangleMesh &mesh)

Class Documentation

◆ cereal::specialize< Archive, Slic3r::TriangleMesh, cereal::specialization::non_member_load_save >

struct cereal::specialize< Archive, Slic3r::TriangleMesh, cereal::specialization::non_member_load_save >
template<class Archive>
struct cereal::specialize< Archive, Slic3r::TriangleMesh, cereal::specialization::non_member_load_save >