OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Geometry.cpp File Reference
#include "Point.hpp"
#include "Polygon.hpp"
#include "MultiPoint.hpp"
#include "BoundingBox.hpp"
#include "libslic3r.h"
#include "Geometry.hpp"
#include "ClipperUtils.hpp"
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <Eigen/SVD>
#include <algorithm>
#include <boost/algorithm/string/constants.hpp>
#include <array>
#include <cassert>
#include <cmath>
#include <cstddef>
#include <cstdlib>
#include <cstdint>
#include <list>
#include <map>
#include <numeric>
#include <set>
#include <string>
#include <utility>
#include <stack>
#include <vector>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/log/trivial.hpp>
Include dependency graph for Geometry.cpp:

Go to the source code of this file.

Classes

class  Slic3r::Geometry::ArrangeItem
class  Slic3r::Geometry::ArrangeItemIndex

Namespaces

namespace  boost
namespace  boost::polygon
namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::Geometry

Functions

bool Slic3r::Geometry::directions_parallel (double angle1, double angle2, double max_diff)
bool Slic3r::Geometry::directions_perpendicular (double angle1, double angle2, double max_diff)
template<class T>
bool Slic3r::Geometry::contains (const std::vector< T > &vector, const Point &point)
template bool Slic3r::Geometry::contains (const ExPolygons &vector, const Point &point)
double Slic3r::Geometry::rad2deg_dir (double angle)
void Slic3r::Geometry::simplify_polygons (const Polygons &polygons, double tolerance, Polygons *retval)
double Slic3r::Geometry::linint (double value, double oldmin, double oldmax, double newmin, double newmax)
bool Slic3r::Geometry::arrange (size_t total_parts, const Vec2d &part_size, coordf_t dist, const BoundingBoxf *bb, Pointfs &positions)
template<typename T>
T Slic3r::Geometry::dist (const boost::polygon::point_data< T > &p1, const boost::polygon::point_data< T > &p2)
template<typename segment_type, typename point_type>
point_type Slic3r::Geometry::project_point_to_segment (segment_type &seg, point_type &px)
void Slic3r::Geometry::assemble_transform (Transform3d &transform, const Vec3d &translation, const Vec3d &rotation, const Vec3d &scale, const Vec3d &mirror)
Transform3d Slic3r::Geometry::assemble_transform (const Vec3d &translation, const Vec3d &rotation, const Vec3d &scale, const Vec3d &mirror)
void Slic3r::Geometry::assemble_transform (Transform3d &transform, const Transform3d &translation, const Transform3d &rotation, const Transform3d &scale, const Transform3d &mirror)
Transform3d Slic3r::Geometry::assemble_transform (const Transform3d &translation, const Transform3d &rotation, const Transform3d &scale, const Transform3d &mirror)
void Slic3r::Geometry::translation_transform (Transform3d &transform, const Vec3d &translation)
Transform3d Slic3r::Geometry::translation_transform (const Vec3d &translation)
void Slic3r::Geometry::rotation_transform (Transform3d &transform, const Vec3d &rotation)
Transform3d Slic3r::Geometry::rotation_transform (const Vec3d &rotation)
void Slic3r::Geometry::scale_transform (Transform3d &transform, double scale)
void Slic3r::Geometry::scale_transform (Transform3d &transform, const Vec3d &scale)
Transform3d Slic3r::Geometry::scale_transform (double scale)
Transform3d Slic3r::Geometry::scale_transform (const Vec3d &scale)
Vec3d Slic3r::Geometry::extract_euler_angles (const Eigen::Matrix< double, 3, 3, Eigen::DontAlign > &rotation_matrix)
Vec3d Slic3r::Geometry::extract_euler_angles (const Transform3d &transform)
void Slic3r::Geometry::rotation_from_two_vectors (Vec3d from, Vec3d to, Vec3d &rotation_axis, double &phi, Matrix3d *rotation_matrix)
static std::pair< Transform3d, Transform3d > Slic3r::Geometry::extract_rotation_scale (const Transform3d &trafo)
static Transform3d Slic3r::Geometry::extract_rotation_matrix (const Transform3d &trafo)
static Transform3d Slic3r::Geometry::extract_scale (const Transform3d &trafo)
static bool Slic3r::Geometry::contains_skew (const Transform3d &trafo)
Transform3d Slic3r::Geometry::transform3d_from_string (const std::string &transform_str)
Eigen::Quaterniond Slic3r::Geometry::rotation_xyz_diff (const Vec3d &rot_xyz_from, const Vec3d &rot_xyz_to)
double Slic3r::Geometry::rotation_diff_z (const Vec3d &rot_xyz_from, const Vec3d &rot_xyz_to)
Transformation Slic3r::Geometry::mat_around_a_point_rotate (const Transformation &InMat, const Vec3d &pt, const Vec3d &axis, float rotate_theta_radian)
Transformation Slic3r::Geometry::generate_transform (const Vec3d &x_dir, const Vec3d &y_dir, const Vec3d &z_dir, const Vec3d &origin)
bool Slic3r::Geometry::is_point_inside_polygon_corner (const Point &a, const Point &b, const Point &c, const Point &query_point)

Class Documentation

◆ Slic3r::Geometry::ArrangeItem

class Slic3r::Geometry::ArrangeItem
Class Members
coordf_t dist
size_t index_x
size_t index_y
Vec2d pos = Vec2d::Zero()