Go to the documentation of this file.
78 if (
a.x !=
b.x)
return a.x <
b.x;
79 if (
a.y !=
b.y)
return a.y <
b.y;
91 for(
unsigned int j = 0; j < old_points.
size(); ++j) {
92 const Vector3 &v = old_points[j];
98 Vec3i v3int(ix, iy, iz);
100 if (iter != xyz_map.
end()) {
101 i_map[j] = iter->second;
110 it->i1_ = i_map[it->i1_];
111 it->i2_ = i_map[it->i2_];
112 it->i3_ = i_map[it->i3_];
139 return ((p3 - p1).cross(p2 - p1)).normalized();
double max_radius_squared_cache_
Cached squared maximum radius.
const geo::Vector3 getTriangleNormal(unsigned int index) const
Calculates the nornaml of a triangle in the mesh.
const std::vector< TriangleI > & getTriangleIs() const
std::vector< Triangle > triangles_cache_
Cached output result.
void add(const Mesh &mesh)
double getMaxRadius() const
double getSquaredMaxRadius() const
const std::vector< geo::Vector3 > & getPoints() const
Mesh getTransformed(const geo::Transform t) const
unsigned int addPoint(double x, double y, double z)
const std::vector< Triangle > & getTriangles() const
bool operator()(const Vec3i &a, const Vec3i &b) const
std::vector< TriangleI > triangles_i_
Triangles of the mesh.
double max_radius_cache_
Cached maximum radius.
void filterOverlappingVertices()
void addTriangle(unsigned int i1, unsigned int i2, unsigned int i3)
std::vector< geo::Vector3 > points_
Points of the mesh.