|
Open3D (C++ API)
|
#include <MeshBase.h>
Public Types | |
| enum | SimplificationContraction { SimplificationContraction::Average, SimplificationContraction::Quadric } |
| enum | FilterScope { FilterScope::All, FilterScope::Color, FilterScope::Normal, FilterScope::Vertex } |
Public Types inherited from open3d::geometry::Geometry | |
| enum | GeometryType { GeometryType::Unspecified = 0, GeometryType::PointCloud = 1, GeometryType::VoxelGrid = 2, GeometryType::Octree = 3, GeometryType::LineSet = 4, GeometryType::MeshBase = 5, GeometryType::TriangleMesh = 6, GeometryType::HalfEdgeTriangleMesh = 7, GeometryType::Image = 8, GeometryType::RGBDImage = 9, GeometryType::TetraMesh = 10, GeometryType::OrientedBoundingBox = 11, GeometryType::AxisAlignedBoundingBox = 12 } |
| Specifies possible geometry types. More... | |
Public Member Functions | |
| MeshBase () | |
| ~MeshBase () override | |
| virtual MeshBase & | Clear () override |
| Clear all elements in the geometry. More... | |
| virtual bool | IsEmpty () const override |
Returns true iff the geometry is empty. More... | |
| virtual Eigen::Vector3d | GetMinBound () const override |
| Returns min bounds for geometry coordinates. More... | |
| virtual Eigen::Vector3d | GetMaxBound () const override |
| Returns max bounds for geometry coordinates. More... | |
| virtual Eigen::Vector3d | GetCenter () const override |
| Returns the center of the geometry coordinates. More... | |
| virtual AxisAlignedBoundingBox | GetAxisAlignedBoundingBox () const override |
| Returns an axis-aligned bounding box of the geometry. More... | |
| virtual OrientedBoundingBox | GetOrientedBoundingBox () const override |
| Returns an oriented bounding box of the geometry. More... | |
| virtual MeshBase & | Transform (const Eigen::Matrix4d &transformation) override |
| Apply transformation (4x4 matrix) to the geometry coordinates. More... | |
| virtual MeshBase & | Translate (const Eigen::Vector3d &translation, bool relative=true) override |
| Apply translation to the geometry coordinates. More... | |
| virtual MeshBase & | Scale (const double scale, bool center=true) override |
| Apply scaling to the geometry coordinates. More... | |
| virtual MeshBase & | Rotate (const Eigen::Matrix3d &R, bool center=true) override |
| Apply rotation to the geometry coordinates and normals. More... | |
| MeshBase & | operator+= (const MeshBase &mesh) |
| MeshBase | operator+ (const MeshBase &mesh) const |
| bool | HasVertices () const |
| bool | HasVertexNormals () const |
| bool | HasVertexColors () const |
| MeshBase & | NormalizeNormals () |
| MeshBase & | PaintUniformColor (const Eigen::Vector3d &color) |
| Assigns each vertex in the TriangleMesh the same color. More... | |
| std::tuple< std::shared_ptr< TriangleMesh >, std::vector< size_t > > | ComputeConvexHull () const |
| Function that computes the convex hull of the triangle mesh using qhull. More... | |
Public Member Functions inherited from open3d::geometry::Geometry3D | |
| ~Geometry3D () override | |
Public Member Functions inherited from open3d::geometry::Geometry | |
| virtual | ~Geometry () |
| GeometryType | GetGeometryType () const |
| Returns one of registered geometry types. More... | |
| int | Dimension () const |
| Returns whether the geometry is 2D or 3D. More... | |
Data Fields | |
| std::vector< Eigen::Vector3d > | vertices_ |
| std::vector< Eigen::Vector3d > | vertex_normals_ |
| std::vector< Eigen::Vector3d > | vertex_colors_ |
Protected Member Functions | |
| MeshBase (Geometry::GeometryType type) | |
| MeshBase (Geometry::GeometryType type, const std::vector< Eigen::Vector3d > &vertices) | |
Protected Member Functions inherited from open3d::geometry::Geometry3D | |
| Geometry3D (GeometryType type) | |
| Parameterized Constructor. More... | |
| Eigen::Vector3d | ComputeMinBound (const std::vector< Eigen::Vector3d > &points) const |
| Compute min bound of a list points. More... | |
| Eigen::Vector3d | ComputeMaxBound (const std::vector< Eigen::Vector3d > &points) const |
| Compute max bound of a list points. More... | |
| Eigen::Vector3d | ComputeCenter (const std::vector< Eigen::Vector3d > &points) const |
| Computer center of a list of points. More... | |
| void | ResizeAndPaintUniformColor (std::vector< Eigen::Vector3d > &colors, const size_t size, const Eigen::Vector3d &color) const |
| Resizes the colors vector and paints a uniform color. More... | |
| void | TransformPoints (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &points) const |
| Transforms all points with the transformation matrix. More... | |
| void | TransformNormals (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &normals) const |
| Transforms the normals with the transformation matrix. More... | |
| void | TranslatePoints (const Eigen::Vector3d &translation, std::vector< Eigen::Vector3d > &points, bool relative) const |
| Apply translation to the geometry coordinates. More... | |
| void | ScalePoints (const double scale, std::vector< Eigen::Vector3d > &points, bool center) const |
Scale the coordinates of all points by the scaling factor scale. More... | |
| void | RotatePoints (const Eigen::Matrix3d &R, std::vector< Eigen::Vector3d > &points, bool center) const |
Rotate all points with the rotation matrix R. More... | |
| void | RotateNormals (const Eigen::Matrix3d &R, std::vector< Eigen::Vector3d > &normals, bool center) const |
Rotate all normals with the rotation matrix R. More... | |
Protected Member Functions inherited from open3d::geometry::Geometry | |
| Geometry (GeometryType type, int dimension) | |
| Parameterized Constructor. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from open3d::geometry::Geometry3D | |
| static Eigen::Matrix3d | GetRotationMatrixFromXYZ (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from XYZ RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromYZX (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from YZX RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromZXY (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from ZXY RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromXZY (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from XZY RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromZYX (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from ZYX RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromYXZ (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from YXZ RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromAxisAngle (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from AxisAngle RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromQuaternion (const Eigen::Vector4d &rotation) |
| Get Rotation Matrix from Quaternion. More... | |
|
strong |
Indicates the scope of filter operations.
| All | indicates that all properties (color, normal, vertex position) are filtered. |
| Color | indicates that only the colors are filtered. |
| Normal | indicates that only the normals are filtered. |
| Vertex | indicates that only the vertex positions are filtered. |
| Enumerator | |
|---|---|
| All | |
| Color | |
| Normal | |
| Vertex | |
Indicates the method that is used for mesh simplification if multiple vertices are combined to a single one.
| Average | indicates that the average position is computed as output. |
| Quadric | indicates that the distance to the adjacent triangle planes is minimized. Cf. "Simplifying Surfaces with Color and Texture using Quadric Error Metrics" by Garland and Heckbert. |
| Enumerator | |
|---|---|
| Average | |
| Quadric | |
|
inline |
|
inlineoverride |
|
inlineprotected |
|
inlineprotected |
|
overridevirtual |
Clear all elements in the geometry.
Implements open3d::geometry::Geometry3D.
Reimplemented in open3d::geometry::HalfEdgeTriangleMesh, open3d::geometry::TriangleMesh, and open3d::geometry::TetraMesh.
| std::tuple< std::shared_ptr< TriangleMesh >, std::vector< size_t > > open3d::geometry::MeshBase::ComputeConvexHull | ( | ) | const |
Function that computes the convex hull of the triangle mesh using qhull.
|
overridevirtual |
Returns an axis-aligned bounding box of the geometry.
Implements open3d::geometry::Geometry3D.
|
overridevirtual |
Returns the center of the geometry coordinates.
Implements open3d::geometry::Geometry3D.
|
overridevirtual |
Returns max bounds for geometry coordinates.
Implements open3d::geometry::Geometry3D.
|
overridevirtual |
Returns min bounds for geometry coordinates.
Implements open3d::geometry::Geometry3D.
|
overridevirtual |
Returns an oriented bounding box of the geometry.
Implements open3d::geometry::Geometry3D.
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Returns true iff the geometry is empty.
Implements open3d::geometry::Geometry3D.
|
inline |
|
inline |
Assigns each vertex in the TriangleMesh the same color.
| color. |
|
overridevirtual |
Apply rotation to the geometry coordinates and normals.
| R | A 3D vector that either defines the three angles for Euler rotation, or in the axis-angle representation the normalized vector defines the axis of rotation and the norm the angle around this axis. |
| center | If true, the rotation is applied relative to the center of the geometry. Otherwise, the rotation is directly applied to the geometry, i.e. relative to the origin. |
Implements open3d::geometry::Geometry3D.
Reimplemented in open3d::geometry::TriangleMesh.
|
overridevirtual |
Apply scaling to the geometry coordinates.
| scale | The scale parameter that is multiplied to the points/vertices of the geometry. |
| center | If true, the scale is applied relative to the center of the geometry. Otherwise, the scale is directly applied to the geometry, i.e. relative to the origin. |
Implements open3d::geometry::Geometry3D.
|
overridevirtual |
Apply transformation (4x4 matrix) to the geometry coordinates.
Implements open3d::geometry::Geometry3D.
Reimplemented in open3d::geometry::TriangleMesh.
|
overridevirtual |
Apply translation to the geometry coordinates.
| translation | A 3D vector to transform the geometry. |
| relative | If true, the translation is directly applied to the geometry. Otherwise, the geometry center is moved to the translation. |
Implements open3d::geometry::Geometry3D.
| std::vector<Eigen::Vector3d> open3d::geometry::MeshBase::vertex_colors_ |
| std::vector<Eigen::Vector3d> open3d::geometry::MeshBase::vertex_normals_ |
| std::vector<Eigen::Vector3d> open3d::geometry::MeshBase::vertices_ |
1.8.13