#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/TriangleSelector.hpp>
◆ Cursor() [1/2]
| Slic3r::TriangleSelector::Cursor::Cursor |
( |
| ) |
|
|
delete |
◆ ~Cursor()
| virtual Slic3r::TriangleSelector::Cursor::~Cursor |
( |
| ) |
|
|
virtualdefault |
◆ Cursor() [2/2]
| Slic3r::TriangleSelector::Cursor::Cursor |
( |
const Vec3f & | source_, |
|
|
float | radius_world, |
|
|
const Transform3d & | trafo_, |
|
|
const ClippingPlane & | clipping_plane_ ) |
|
explicitprotected |
2091{
2092 Vec3d sf = Geometry::Transformation(trafo_).get_scaling_factor();
2094 radius = float(radius_world / sf(0));
2097 } else {
2098
2099
2100
2106 }
2107}
Transform3f trafo
Definition TriangleSelector.hpp:121
Transform3f trafo_normal
Definition TriangleSelector.hpp:125
ClippingPlane clipping_plane
Definition TriangleSelector.hpp:130
bool uniform_scaling
Definition TriangleSelector.hpp:124
Vec3f source
Definition TriangleSelector.hpp:122
float radius
Definition TriangleSelector.hpp:126
float radius_sqr
Definition TriangleSelector.hpp:127
Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Vec3d
Definition Point.hpp:68
constexpr bool is_approx(Number value, Number test_value, Number precision=EPSILON)
Definition libslic3r.h:320
constexpr T sqr(T x)
Definition libslic3r.h:301
References Slic3r::cast(), clipping_plane, Slic3r::Geometry::Transformation::get_scaling_factor(), Slic3r::is_approx(), radius, radius_sqr, source, Slic3r::sqr(), trafo, trafo_normal, and uniform_scaling.
◆ is_edge_inside_cursor()
| virtual bool Slic3r::TriangleSelector::Cursor::is_edge_inside_cursor |
( |
const Triangle & | tr, |
|
|
const std::vector< Vertex > & | vertices ) const |
|
pure virtual |
◆ is_facet_visible() [1/2]
| bool Slic3r::TriangleSelector::Cursor::is_facet_visible |
( |
const Cursor & | cursor, |
|
|
int | facet_idx, |
|
|
const std::vector< Vec3f > & | face_normals ) |
|
static |
1101{
1102 assert(facet_idx < int(face_normals.size()));
1103 Vec3f n = face_normals[facet_idx];
1104 if (!cursor.uniform_scaling)
1105 n = cursor.trafo_normal * n;
1106 return n.dot(cursor.dir) < 0.f;
1107}
Eigen::Matrix< float, 3, 1, Eigen::DontAlign > Vec3f
Definition Point.hpp:65
References Cursor(), dir, trafo_normal, and uniform_scaling.
◆ is_facet_visible() [2/2]
| virtual bool Slic3r::TriangleSelector::Cursor::is_facet_visible |
( |
int | facet_idx, |
|
|
const std::vector< Vec3f > & | face_normals ) const |
|
pure virtual |
◆ is_mesh_point_inside()
| virtual bool Slic3r::TriangleSelector::Cursor::is_mesh_point_inside |
( |
const Vec3f & | point | ) |
const |
|
pure virtual |
◆ is_pointer_in_triangle() [1/2]
| bool Slic3r::TriangleSelector::Cursor::is_pointer_in_triangle |
( |
const Triangle & | tr, |
|
|
const std::vector< Vertex > & | vertices ) const |
◆ is_pointer_in_triangle() [2/2]
| virtual bool Slic3r::TriangleSelector::Cursor::is_pointer_in_triangle |
( |
const Vec3f & | p1, |
|
|
const Vec3f & | p2, |
|
|
const Vec3f & | p3 ) const |
|
pure virtual |
◆ vertices_inside()
| int Slic3r::TriangleSelector::Cursor::vertices_inside |
( |
const Triangle & | tr, |
|
|
const std::vector< Vertex > & | vertices ) const |
|
virtual |
◆ clipping_plane
◆ dir
| Vec3f Slic3r::TriangleSelector::Cursor::dir = Vec3f(0.f, 0.f, 0.f) |
|
protected |
◆ radius
| float Slic3r::TriangleSelector::Cursor::radius |
|
protected |
◆ radius_sqr
| float Slic3r::TriangleSelector::Cursor::radius_sqr |
|
protected |
◆ source
| Vec3f Slic3r::TriangleSelector::Cursor::source |
|
protected |
◆ trafo
Referenced by Cursor(), Slic3r::TriangleSelector::DoublePointCursor::DoublePointCursor(), Slic3r::TriangleSelector::SinglePointCursor::SinglePointCursor(), Slic3r::TriangleCursor::is_edge_inside_cursor(), Slic3r::TriangleSelector::Capsule2D::is_edge_inside_cursor(), Slic3r::TriangleSelector::Capsule3D::is_edge_inside_cursor(), Slic3r::TriangleSelector::Circle::is_edge_inside_cursor(), Slic3r::TriangleSelector::HeightRange::is_edge_inside_cursor(), Slic3r::TriangleSelector::Sphere::is_edge_inside_cursor(), Slic3r::TriangleSelector::Capsule2D::is_mesh_point_inside(), Slic3r::TriangleSelector::Capsule3D::is_mesh_point_inside(), Slic3r::TriangleSelector::Circle::is_mesh_point_inside(), Slic3r::TriangleSelector::HeightRange::is_mesh_point_inside(), Slic3r::TriangleSelector::Sphere::is_mesh_point_inside(), Slic3r::TriangleSelector::DoublePointCursor::is_pointer_in_triangle(), and Slic3r::TriangleSelector::SinglePointCursor::is_pointer_in_triangle().
◆ trafo_normal
| Transform3f Slic3r::TriangleSelector::Cursor::trafo_normal |
|
protected |
◆ TriangleSelector
| friend Slic3r::TriangleSelector::Cursor::TriangleSelector |
|
protected |
◆ uniform_scaling
| bool Slic3r::TriangleSelector::Cursor::uniform_scaling |
|
protected |
Referenced by Cursor(), Slic3r::TriangleSelector::DoublePointCursor::DoublePointCursor(), Slic3r::TriangleSelector::SinglePointCursor::SinglePointCursor(), Slic3r::TriangleCursor::is_edge_inside_cursor(), Slic3r::TriangleSelector::Capsule2D::is_edge_inside_cursor(), Slic3r::TriangleSelector::Capsule3D::is_edge_inside_cursor(), Slic3r::TriangleSelector::Circle::is_edge_inside_cursor(), Slic3r::TriangleSelector::Sphere::is_edge_inside_cursor(), is_facet_visible(), Slic3r::TriangleSelector::Capsule2D::is_mesh_point_inside(), Slic3r::TriangleSelector::Capsule3D::is_mesh_point_inside(), Slic3r::TriangleSelector::Circle::is_mesh_point_inside(), Slic3r::TriangleSelector::Sphere::is_mesh_point_inside(), Slic3r::TriangleSelector::DoublePointCursor::is_pointer_in_triangle(), and Slic3r::TriangleSelector::SinglePointCursor::is_pointer_in_triangle().
The documentation for this class was generated from the following files: