![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <ccFitPlane.h>


Public Member Functions | |
| ccFitPlane (ccPlane *p) | |
| ~ccFitPlane () | |
| void | updateAttributes (float rms, float search_r) |
Public Member Functions inherited from ccPlane | |
| ccPlane (PointCoordinateType xWidth, PointCoordinateType yWidth, const ccGLMatrix *transMat=nullptr, QString name=QString("Plane")) | |
| Default constructor. More... | |
| ccPlane (QString name=QString("Plane")) | |
| Simplified constructor. More... | |
| virtual CV_CLASS_ENUM | getClassID () const override |
| Returns class ID. More... | |
| virtual QString | getTypeName () const override |
| Returns type name (sphere, cylinder, etc.) More... | |
| virtual ccGenericPrimitive * | clone () const override |
| Clones primitive. More... | |
| virtual ccBBox | getOwnFitBB (ccGLMatrix &trans) override |
| Returns best-fit bounding-box (if available) More... | |
| PointCoordinateType | getXWidth () const |
| Returns 'X' width. More... | |
| PointCoordinateType | getYWidth () const |
| Returns 'Y' width. More... | |
| CCVector3 | getCenter () const |
| Returns the center. More... | |
| void | setXWidth (PointCoordinateType w, bool autoUpdate=true) |
| Sets 'X' width. More... | |
| void | setYWidth (PointCoordinateType h, bool autoUpdate=true) |
| Sets 'Y' width. More... | |
| CCVector3 | getNormal () const override |
| Returns the entity normal. More... | |
| bool | setAsTexture (QImage image, QString imageFilename=QString()) |
| Sets an image as texture. More... | |
| void | getEquation (CCVector3 &N, PointCoordinateType &constVal) const |
| Returns the equation of the plane. More... | |
| const PointCoordinateType * | getEquation () |
| Returns the equation of the plane. More... | |
| void | flip () |
| Flips the plane. More... | |
Public Member Functions inherited from ccGenericPrimitive | |
| ccGenericPrimitive (QString name=QString(), const ccGLMatrix *transMat=nullptr) | |
| Default constructor. More... | |
| virtual void | setColor (const ecvColor::Rgb &col) |
| Sets primitive color (shortcut) More... | |
| const ccGenericPrimitive & | operator+= (const ccGenericPrimitive &prim) |
| Add operator. More... | |
| virtual bool | hasDrawingPrecision () const |
| Whether drawing is dependent on 'precision' parameter. More... | |
| virtual bool | setDrawingPrecision (unsigned steps) |
| Sets drawing precision. More... | |
| virtual unsigned | getDrawingPrecision () const |
| Returns drawing precision (or 0 if feature is not supported) More... | |
| virtual ccGLMatrix & | getTransformation () |
| Returns the transformation that is currently applied to the vertices. More... | |
| virtual const ccGLMatrix & | getTransformation () const |
| const ccGLMatrix & | getGLTransformationHistory () const override |
| inherited methods (ccHObject) More... | |
| virtual void | clearDrawings () |
| virtual void | hideShowDrawings (CC_DRAW_CONTEXT &context) |
Public Member Functions inherited from ccMesh | |
| ccMesh (ccGenericPointCloud *vertices=nullptr) | |
| Default ccMesh constructor. More... | |
| ccMesh (const ccMesh &mesh) | |
| ccMesh (const std::vector< Eigen::Vector3d > &vertices, const std::vector< Eigen::Vector3i > &triangles) | |
| Parameterized Constructor. More... | |
| ccMesh (cloudViewer::GenericIndexedMesh *giMesh, ccGenericPointCloud *giVertices) | |
| ccMesh constructor (from a cloudViewer::GenericIndexedMesh) More... | |
| ~ccMesh () override | |
| Default destructor. More... | |
| void | setAssociatedCloud (ccGenericPointCloud *cloud) |
| Sets the associated vertices cloud (warning) More... | |
| ccMesh * | cloneMesh (ccGenericPointCloud *vertices=nullptr, ccMaterialSet *clonedMaterials=nullptr, NormsIndexesTableType *clonedNormsTable=nullptr, TextureCoordsContainer *cloneTexCoords=nullptr) |
| Clones this entity. More... | |
| ccMesh * | partialClone (const std::vector< unsigned > &triangleIndices, int *warnings=nullptr) const |
| Creates a new mesh from a selection of triangles (partial clone) More... | |
| bool | merge (const ccMesh *mesh, bool createSubMesh) |
| Merges another mesh into this one. More... | |
| ccMesh & | operator= (const ccMesh &mesh) |
| ccMesh & | operator+= (const ccMesh &mesh) |
| ccMesh | operator+ (const ccMesh &mesh) const |
| void | clear () |
| unsigned | getUniqueIDForDisplay () const override |
| Returns object unqiue ID used for display. More... | |
| ccBBox | getOwnBB (bool withGLFeatures=false) override |
| Returns the entity's own bounding-box. More... | |
| bool | isSerializable () const override |
| Returns whether object is serializable of not. More... | |
| const ccGLMatrix & | getGLTransformationHistory () const override |
| Returns the transformation 'history' matrix. More... | |
| ccGenericPointCloud * | getAssociatedCloud () const override |
| Returns the vertices cloud. More... | |
| void | refreshBB () override |
| Forces bounding-box update. More... | |
| bool | interpolateNormalsBC (unsigned triIndex, const CCVector3d &w, CCVector3 &N) override |
| Interpolates normal(s) inside a given triangle. More... | |
| bool | interpolateColors (unsigned triIndex, const CCVector3 &P, ecvColor::Rgb &C) override |
| Interpolates RGB colors inside a given triangle. More... | |
| void | computeInterpolationWeights (unsigned triIndex, const CCVector3 &P, CCVector3d &weights) const override |
| Returns the (barycentric) interpolation weights for a given triangle. More... | |
| bool | getColorFromMaterial (unsigned triIndex, const CCVector3 &P, ecvColor::Rgb &C, bool interpolateColorIfNoTexture) override |
| bool | getVertexColorFromMaterial (unsigned triIndex, unsigned char vertIndex, ecvColor::Rgb &C, bool returnColorIfNoTexture) override |
| unsigned | capacity () const override |
| Returns max capacity. More... | |
| void | forEach (genericTriangleAction action) override |
| Fast iteration mechanism. More... | |
| void | placeIteratorAtBeginning () override |
| Places the mesh iterator at the beginning. More... | |
| cloudViewer::GenericTriangle * | _getNextTriangle () override |
| Returns the next triangle (relatively to the global iterator position) More... | |
| cloudViewer::GenericTriangle * | _getTriangle (unsigned triangleIndex) override |
| Returns the ith triangle. More... | |
| cloudViewer::VerticesIndexes * | getNextTriangleVertIndexes () override |
| cloudViewer::VerticesIndexes * | getTriangleVertIndexes (unsigned triangleIndex) override |
| Returns the indexes of the vertices of a given triangle. More... | |
| virtual void | getTriangleVertices (unsigned triangleIndex, CCVector3 &A, CCVector3 &B, CCVector3 &C) const override |
| Returns the vertices of a given triangle. More... | |
| virtual void | getTriangleVertices (unsigned triangleIndex, double A[3], double B[3], double C[3]) const override |
| unsigned int | getVerticeSize () const |
| Eigen::Vector3d | getVertice (size_t index) const |
| void | setVertice (size_t index, const Eigen::Vector3d &vertice) |
| void | addVertice (const Eigen::Vector3d &vertice) |
| std::vector< Eigen::Vector3d > | getEigenVertices () const |
| void | addEigenVertices (const std::vector< Eigen::Vector3d > &vertices) |
| void | setEigenVertices (const std::vector< Eigen::Vector3d > &vertices) |
| Eigen::Vector3d | getVertexNormal (size_t index) const |
| void | setVertexNormal (size_t index, const Eigen::Vector3d &normal) |
| void | addVertexNormal (const Eigen::Vector3d &normal) |
| std::vector< Eigen::Vector3d > | getVertexNormals () const |
| void | addVertexNormals (const std::vector< Eigen::Vector3d > &normals) |
| void | setVertexNormals (const std::vector< Eigen::Vector3d > &normals) |
| Eigen::Vector3d | getVertexColor (size_t index) const |
| void | setVertexColor (size_t index, const Eigen::Vector3d &color) |
| void | addVertexColor (const Eigen::Vector3d &color) |
| std::vector< Eigen::Vector3d > | getVertexColors () const |
| ColorsTableType * | getVertexColorsPtr () |
| void | addVertexColors (const std::vector< Eigen::Vector3d > &colors) |
| void | setVertexColors (const std::vector< Eigen::Vector3d > &colors) |
| bool | HasVertices () const |
| std::vector< CCVector3 > & | getVerticesPtr () |
| const std::vector< CCVector3 > & | getVertices () const |
| virtual unsigned | size () const override |
| Returns the number of triangles. More... | |
| void | getBoundingBox (CCVector3 &bbMin, CCVector3 &bbMax) override |
| Returns the mesh bounding-box. More... | |
| bool | normalsAvailable () const override |
| Returns whether normals are available. More... | |
| bool | interpolateNormals (unsigned triIndex, const CCVector3 &P, CCVector3 &N) override |
| Interpolates normal(s) inside a given triangle. More... | |
| void | getTriangleVertIndexes (size_t triangleIndex, Eigen::Vector3i &vertIndx) const |
| virtual const cloudViewer::VerticesIndexes * | getTriangleVertIndexes (unsigned triangleIndex) const |
| bool | hasColors () const override |
| Returns whether colors are enabled or not. More... | |
| bool | hasNormals () const override |
| Returns whether normals are enabled or not. More... | |
| bool | HasVertexNormals () const |
| bool | hasScalarFields () const override |
| Returns whether one or more scalar fields are instantiated. More... | |
| bool | hasDisplayedScalarField () const override |
| Returns whether an active scalar field is available or not. More... | |
| bool | normalsShown () const override |
| Returns whether normals are shown or not. More... | |
| void | toggleMaterials () override |
| Toggles material display state. More... | |
| void | invertNormals () |
| Inverts normals (if any) More... | |
| void | shiftTriangleIndexes (unsigned shift) |
| Shifts all triangles indexes. More... | |
| void | flipTriangles () |
| Flips the triangle. More... | |
| void | addTriangle (unsigned i1, unsigned i2, unsigned i3) |
| Adds a triangle to the mesh. More... | |
| void | addTriangle (const cloudViewer::VerticesIndexes &triangle) |
| void | addTriangle (const Eigen::Vector3i &index) |
| void | addTriangles (const std::vector< Eigen::Vector3i > &triangles) |
| void | setTriangle (size_t index, const Eigen::Vector3i &triangle) |
| void | setTriangles (const std::vector< Eigen::Vector3i > &triangles) |
| Eigen::Vector3i | getTriangle (size_t index) const |
| std::vector< Eigen::Vector3i > | getTriangles () const |
| triangleIndexesContainer * | getTrianglesPtr () const |
| bool | reserve (std::size_t n) |
| Reserves the memory to store the vertex indexes (3 per triangle) More... | |
| bool | reserveAssociatedCloud (std::size_t n, bool init_color=false, bool init_normal=false) |
| bool | resize (size_t n) |
| Resizes the array of vertex indexes (3 per triangle) More... | |
| bool | resizeAssociatedCloud (std::size_t n) |
| void | shrinkToFit () |
| Removes unused capacity. More... | |
| void | shrinkVertexToFit () |
| bool | hasTriNormals () const override |
| Returns whether the mesh has per-triangle normals. More... | |
| bool | HasTriangleNormals () const |
| void | getTriangleNormalIndexes (unsigned triangleIndex, int &i1, int &i2, int &i3) const override |
| Returns a triplet of normal indexes for a given triangle (if any) More... | |
| bool | getTriangleNormals (unsigned triangleIndex, CCVector3 &Na, CCVector3 &Nb, CCVector3 &Nc) const override |
| Returns a given triangle normal. More... | |
| bool | getTriangleNormals (unsigned triangleIndex, double Na[3], double Nb[3], double Nc[3]) const override |
| bool | getTriangleNormals (unsigned triangleIndex, Eigen::Vector3d &Na, Eigen::Vector3d &Nb, Eigen::Vector3d &Nc) const override |
| std::vector< Eigen::Vector3d > | getTriangleNormals () const |
| std::vector< CCVector3 * > | getTriangleNormalsPtr () const |
| Eigen::Vector3d | getTriangleNorm (size_t index) const |
| bool | setTriangleNorm (size_t index, const Eigen::Vector3d &triangle_normal) |
| bool | setTriangleNormalIndexes (size_t triangleIndex, CompressedNormType value) |
| CompressedNormType | getTriangleNormalIndexes (size_t triangleIndex) |
| bool | addTriangleNorm (const CCVector3 &N) |
| bool | addTriangleNorm (const Eigen::Vector3d &N) |
| std::vector< Eigen::Vector3d > | getTriangleNorms () const |
| bool | setTriangleNorms (const std::vector< Eigen::Vector3d > &triangle_normals) |
| bool | addTriangleNorms (const std::vector< Eigen::Vector3d > &triangle_normals) |
| NormsIndexesTableType * | getTriNormsTable () const override |
| Returns per-triangle normals shared array. More... | |
| void | setTriNormsTable (NormsIndexesTableType *triNormsTable, bool autoReleaseOldTable=true) |
| Sets per-triangle normals array (may be shared) More... | |
| void | clearTriNormals () |
| Removes per-triangle normals. More... | |
| bool | arePerTriangleNormalsEnabled () const |
| Returns whether per triangle normals are enabled. More... | |
| bool | reservePerTriangleNormalIndexes () |
| Reserves memory to store per-triangle triplets of normal indexes. More... | |
| void | addTriangleNormalIndexes (int i1, int i2, int i3) |
| Adds a triplet of normal indexes for next triangle. More... | |
| void | setTriangleNormalIndexes (unsigned triangleIndex, int i1, int i2, int i3) |
| Sets a triplet of normal indexes for a given triangle. More... | |
| void | removePerTriangleNormalIndexes () |
| Removes any per-triangle triplets of normal indexes. More... | |
| void | invertPerTriangleNormals () |
| Invert per-triangle normals. More... | |
| bool | hasMaterials () const override |
| const ccMaterialSet * | getMaterialSet () const override |
| int | getTriangleMtlIndex (unsigned triangleIndex) const override |
| Returns a given triangle material indexes. More... | |
| bool | convertMaterialsToVertexColors () |
| Converts materials to vertex colors. More... | |
| bool | hasPerTriangleMtlIndexes () const |
| Returns whether this mesh as per-triangle material index. More... | |
| bool | reservePerTriangleMtlIndexes () |
| Reserves memory to store per-triangle material index. More... | |
| void | removePerTriangleMtlIndexes () |
| Removes any per-triangle material indexes. More... | |
| void | addTriangleMtlIndex (int mtlIndex) |
| Adds triangle material index for next triangle. More... | |
| void | setTriangleMtlIndexesTable (triangleMaterialIndexesSet *matIndexesTable, bool autoReleaseOldTable=true) |
| Sets per-triangle material indexes array. More... | |
| const triangleMaterialIndexesSet * | getTriangleMtlIndexesTable () const |
| Returns the per-triangle material indexes array. More... | |
| void | setTriangleMtlIndex (unsigned triangleIndex, int mtlIndex) |
| Sets triangle material indexes. More... | |
| void | setMaterialSet (ccMaterialSet *materialSet, bool autoReleaseOldMaterialSet=true) |
| Sets associated material set (may be shared) More... | |
| bool | hasTextures () const override |
| Returns whether textures are available for this mesh. More... | |
| TextureCoordsContainer * | getTexCoordinatesTable () const override |
| Returns per-triangle texture coordinates array. More... | |
| void | getTriangleTexCoordinates (unsigned triIndex, TexCoords2D *&tx1, TexCoords2D *&tx2, TexCoords2D *&tx3) const override |
| Returns per-triangle texture coordinates (pointer to) More... | |
| void | getTexCoordinates (unsigned index, TexCoords2D *&tx) const override |
| bool | hasPerTriangleTexCoordIndexes () const override |
| Returns whether this mesh as per-triangle triplets of tex coords indexes. More... | |
| void | getTriangleTexCoordinatesIndexes (unsigned triangleIndex, int &i1, int &i2, int &i3) const override |
| Returns the triplet of tex coords indexes for a given triangle. More... | |
| void | setTexCoordinatesTable (TextureCoordsContainer *texCoordsTable, bool autoReleaseOldTable=true) |
| Sets per-triangle texture coordinates array (may be shared) More... | |
| bool | reservePerTriangleTexCoordIndexes () |
| Reserves memory to store per-triangle triplets of tex coords indexes. More... | |
| void | removePerTriangleTexCoordIndexes () |
| Remove per-triangle tex coords indexes. More... | |
| void | addTriangleTexCoordIndexes (int i1, int i2, int i3) |
| Adds a triplet of tex coords indexes for next triangle. More... | |
| void | setTriangleTexCoordIndexes (unsigned triangleIndex, int i1, int i2, int i3) |
| Sets a triplet of tex coords indexes for a given triangle. More... | |
| bool | computeNormals (bool perVertex) |
| Computes normals. More... | |
| bool | computePerVertexNormals () |
| Computes per-vertex normals. More... | |
| bool | computePerTriangleNormals () |
| Computes per-triangle normals. More... | |
| bool | laplacianSmooth (unsigned nbIteration=100, PointCoordinateType factor=static_cast< PointCoordinateType >(0.01), ecvProgressDialog *progressCb=nullptr) |
| Laplacian smoothing. More... | |
| bool | processScalarField (MESH_SCALAR_FIELD_PROCESS process) |
| ccMesh * | subdivide (PointCoordinateType maxArea) const |
| ccMesh * | createNewMeshFromSelection (bool removeSelectedTriangles, std::vector< int > *newIndexesOfRemainingTriangles=nullptr, bool withChildEntities=false) |
| Creates a new mesh with the selected vertices only. More... | |
| void | swapTriangles (unsigned index1, unsigned index2) |
| Swaps two triangles. More... | |
| void | removeTriangles (size_t index) |
| void | transformTriNormals (const ccGLMatrix &trans) |
| Transforms the mesh per-triangle normals. More... | |
| bool | mergeDuplicatedVertices (unsigned char octreeLevel=DefaultMergeDulicateVerticesLevel, QWidget *parentWidget=nullptr) |
| Merges duplicated vertices. More... | |
| bool | hasAdjacencyList () const |
Returns true if the mesh contains adjacency normals. More... | |
| bool | hasTriangleUvs () const |
| bool | hasTriangleMaterialIds () const |
| bool | hasEigenTextures () const |
Returns true if the mesh has texture. More... | |
| virtual bool | IsEmpty () const override |
| 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 ccBBox | GetAxisAlignedBoundingBox () const override |
| Returns an axis-aligned bounding box of the geometry. More... | |
| virtual ecvOrientedBBox | GetOrientedBoundingBox () const override |
| virtual ccMesh & | Transform (const Eigen::Matrix4d &transformation) override |
| Apply transformation (4x4 matrix) to the geometry coordinates. More... | |
| virtual ccMesh & | Translate (const Eigen::Vector3d &translation, bool relative=true) override |
| Apply translation to the geometry coordinates. More... | |
| virtual ccMesh & | Scale (const double s, const Eigen::Vector3d ¢er) override |
Apply scaling to the geometry coordinates. Given a scaling factor , and center , a given point is transformed according to . More... | |
| virtual ccMesh & | Rotate (const Eigen::Matrix3d &R, const Eigen::Vector3d ¢er) override |
Apply rotation to the geometry coordinates and normals. Given a rotation matrix , and center , a given point is transformed according to . More... | |
| ccMesh & | PaintUniformColor (const Eigen::Vector3d &color) |
| Assigns each vertex in the ccMesh the same color. More... | |
| std::tuple< std::shared_ptr< ccMesh >, std::vector< size_t > > | ComputeConvexHull () const |
| std::unordered_map< Eigen::Vector2i, double, cloudViewer::utility::hash_eigen< Eigen::Vector2i > > | ComputeEdgeWeightsCot (const std::unordered_map< Eigen::Vector2i, std::vector< int >, cloudViewer::utility::hash_eigen< Eigen::Vector2i >> &edges_to_vertices, double min_weight=std::numeric_limits< double >::lowest()) const |
| Function that computes for each edge in the triangle mesh and passed as parameter edges_to_vertices the cot weight. More... | |
| ccMesh & | ComputeTriangleNormals (bool normalized=true) |
| Function to compute triangle normals, usually called before rendering. More... | |
| ccMesh & | ComputeVertexNormals (bool normalized=true) |
| Function to compute vertex normals, usually called before rendering. More... | |
| ccMesh & | NormalizeNormals () |
| ccMesh & | ComputeAdjacencyList () |
| Function to compute adjacency list, call before adjacency list is. More... | |
| ccMesh & | RemoveDuplicatedVertices () |
| Function that removes duplicated verties, i.e., vertices that have identical coordinates. More... | |
| ccMesh & | RemoveDuplicatedTriangles () |
| Function that removes duplicated triangles, i.e., removes triangles that reference the same three vertices, independent of their order. More... | |
| ccMesh & | RemoveUnreferencedVertices () |
| This function removes vertices from the triangle mesh that are not referenced in any triangle of the mesh. More... | |
| ccMesh & | RemoveDegenerateTriangles () |
| Function that removes degenerate triangles, i.e., triangles that reference a single vertex multiple times in a single triangle. More... | |
| ccMesh & | RemoveNonManifoldEdges () |
Function that removes all non-manifold edges, by successively deleting triangles with the smallest surface area adjacent to the non-manifold edge until the number of adjacent triangles to the edge is <= 2. More... | |
| ccMesh & | MergeCloseVertices (double eps) |
| Function that will merge close by vertices to a single one. The vertex position, normal and color will be the average of the vertices. More... | |
| std::shared_ptr< ccMesh > | FilterSharpen (int number_of_iterations, double strength, FilterScope scope=FilterScope::All) const |
| Function to sharpen triangle mesh. More... | |
| std::shared_ptr< ccMesh > | FilterSmoothSimple (int number_of_iterations, FilterScope scope=FilterScope::All) const |
| Function to smooth triangle mesh with simple neighbour average. More... | |
| std::shared_ptr< ccMesh > | FilterSmoothLaplacian (int number_of_iterations, double lambda, FilterScope scope=FilterScope::All) const |
| Function to smooth triangle mesh using Laplacian. More... | |
| std::shared_ptr< ccMesh > | FilterSmoothTaubin (int number_of_iterations, double lambda=0.5, double mu=-0.53, FilterScope scope=FilterScope::All) const |
| Function to smooth triangle mesh using method of Taubin, "Curve and Surface Smoothing Without Shrinkage", 1995. Applies in each iteration two times FilterSmoothLaplacian, first with lambda and second with mu as smoothing parameter. This method avoids shrinkage of the triangle mesh. More... | |
| int | EulerPoincareCharacteristic () const |
| std::vector< Eigen::Vector2i > | GetNonManifoldEdges (bool allow_boundary_edges=true) const |
| bool | IsEdgeManifold (bool allow_boundary_edges=true) const |
| std::vector< int > | GetNonManifoldVertices () const |
| bool | IsVertexManifold () const |
| std::vector< Eigen::Vector2i > | GetSelfIntersectingTriangles () const |
| bool | IsSelfIntersecting () const |
| bool | IsBoundingBoxIntersecting (const ccMesh &other) const |
| bool | IsIntersecting (const ccMesh &other) const |
| bool | IsOrientable () const |
| bool | IsWatertight () const |
| bool | OrientTriangles () |
| std::unordered_map< Eigen::Vector2i, std::vector< int >, cloudViewer::utility::hash_eigen< Eigen::Vector2i > > | GetEdgeToTrianglesMap () const |
| std::unordered_map< Eigen::Vector2i, std::vector< int >, cloudViewer::utility::hash_eigen< Eigen::Vector2i > > | GetEdgeToVerticesMap () const |
| double | GetTriangleArea (size_t triangle_idx) const |
| double | GetSurfaceArea () const |
| double | GetSurfaceArea (std::vector< double > &triangle_areas) const |
| double | GetVolume () const |
| Eigen::Vector4d | GetTrianglePlane (size_t triangle_idx) const |
| std::shared_ptr< ccPointCloud > | SamplePointsUniformlyImpl (size_t number_of_points, std::vector< double > &triangle_areas, double surface_area, bool use_triangle_normal, int seed) |
| std::shared_ptr< ccPointCloud > | SamplePointsUniformly (size_t number_of_points, bool use_triangle_normal=false, int seed=-1) |
| std::shared_ptr< ccPointCloud > | SamplePointsPoissonDisk (size_t number_of_points, double init_factor=5, const std::shared_ptr< ccPointCloud > pcl_init=nullptr, bool use_triangle_normal=false, int seed=-1) |
| std::shared_ptr< ccMesh > | SubdivideMidpoint (int number_of_iterations) const |
| std::shared_ptr< ccMesh > | SubdivideLoop (int number_of_iterations) const |
| std::shared_ptr< ccMesh > | SimplifyVertexClustering (double voxel_size, SimplificationContraction contraction=SimplificationContraction::Average) const |
| std::shared_ptr< ccMesh > | SimplifyQuadricDecimation (int target_number_of_triangles, double maximum_error=std::numeric_limits< double >::infinity(), double boundary_weight=1.0) const |
| std::shared_ptr< ccMesh > | SelectByIndex (const std::vector< size_t > &indices, bool cleanup=true) const |
| std::shared_ptr< ccMesh > | Crop (const ccBBox &bbox) const |
| std::shared_ptr< ccMesh > | Crop (const ecvOrientedBBox &bbox) const |
| std::tuple< std::vector< int >, std::vector< size_t >, std::vector< double > > | ClusterConnectedTriangles () const |
| Function that clusters connected triangles, i.e., triangles that are connected via edges are assigned the same cluster index. More... | |
| void | RemoveTrianglesByIndex (const std::vector< size_t > &triangle_indices) |
This function removes the triangles with index in triangle_indices. Call RemoveUnreferencedVertices to clean up vertices afterwards. More... | |
| void | RemoveTrianglesByMask (const std::vector< bool > &triangle_mask) |
This function removes the triangles that are masked in triangle_mask. Call RemoveUnreferencedVertices to clean up vertices afterwards. More... | |
| void | RemoveVerticesByIndex (const std::vector< size_t > &vertex_indices) |
This function removes the vertices with index in vertex_indices. Note that also all triangles associated with the vertices are removeds. More... | |
| void | RemoveVerticesByMask (const std::vector< bool > &vertex_mask) |
This function removes the vertices that are masked in vertex_mask. Note that also all triangles associated with the vertices are removed.. More... | |
| std::shared_ptr< ccMesh > | DeformAsRigidAsPossible (const std::vector< int > &constraint_vertex_indices, const std::vector< Eigen::Vector3d > &constraint_vertex_positions, size_t max_iter, DeformAsRigidAsPossibleEnergy energy=DeformAsRigidAsPossibleEnergy::Spokes, double smoothed_alpha=0.01) const |
| This function deforms the mesh using the method by Sorkine and Alexa, "As-Rigid-As-Possible Surface Modeling", 2007. More... | |
Public Member Functions inherited from ccGenericMesh | |
| ccGenericMesh (QString name=QString()) | |
| Default constructor. More... | |
| ~ccGenericMesh () override=default | |
| Destructor. More... | |
| void | showNormals (bool state) override |
| Sets normals visibility. More... | |
| virtual bool | isShownAsWire () const |
| Returns whether the mesh is displayed as wired or with plain facets. More... | |
| virtual void | showWired (bool state) |
| Sets whether mesh should be displayed as a wire or with plain facets. More... | |
| virtual bool | isShownAsPoints () const |
| Returns whether the mesh is displayed as wired or with plain facets. More... | |
| virtual void | showPoints (bool state) |
| virtual bool | triNormsShown () const |
| Returns whether per-triangle normals are shown or not. More... | |
| virtual void | showTriNorms (bool state) |
| Sets whether to show or not per-triangle normals. More... | |
| virtual bool | materialsShown () const |
| Sets whether textures/material should be displayed or not. More... | |
| virtual void | showMaterials (bool state) |
| Sets whether textures should be displayed or not. More... | |
| virtual bool | stipplingEnabled () const |
| Returns whether polygon stippling is enabled or not. More... | |
| void | enableStippling (bool state) |
| Enables polygon stippling. More... | |
| ccPointCloud * | samplePoints (bool densityBased, double samplingParameter, bool withNormals, bool withRGB, bool withTexture, cloudViewer::GenericProgressCallback *pDlg=nullptr) |
| Samples points on a mesh. More... | |
| void | importParametersFrom (const ccGenericMesh *mesh) |
| Imports the parameters from another mesh. More... | |
| virtual bool | trianglePicking (const CCVector2d &clickPos, const ccGLCameraParameters &camera, int &nearestTriIndex, double &nearestSquareDist, CCVector3d &nearestPoint, CCVector3d *barycentricCoords=nullptr) const |
| Brute force triangle picking. More... | |
| virtual bool | trianglePicking (unsigned triIndex, const CCVector2d &clickPos, const ccGLCameraParameters &camera, CCVector3d &point, CCVector3d *barycentricCoords=nullptr) const |
| Triangle picking (single triangle) More... | |
| bool | computePointPosition (unsigned triIndex, const CCVector2d &uv, CCVector3 &P, bool warningIfOutside=true) const |
| void | setGlobalShift (const CCVector3d &shift) override |
| Sets shift applied to original coordinates (information storage only) More... | |
| void | setGlobalScale (double scale) override |
| const CCVector3d & | getGlobalShift () const override |
| Returns the shift applied to original coordinates. More... | |
| double | getGlobalScale () const override |
| Returns the scale applied to original coordinates. More... | |
| bool | updateTextures (const std::string &texture_file) |
| bool | updateTextures (const std::vector< std::string > &texture_files) |
Public Member Functions inherited from cloudViewer::GenericIndexedMesh | |
| GenericIndexedMesh ()=default | |
| ~GenericIndexedMesh () override=default | |
| Default destructor. More... | |
Public Member Functions inherited from cloudViewer::GenericMesh | |
| GenericMesh ()=default | |
| virtual | ~GenericMesh ()=default |
| Default destructor. More... | |
| virtual bool | hasTriangles () const |
Public Member Functions inherited from ccShiftedObject | |
| ccShiftedObject (QString name=QString()) | |
| Default constructor. More... | |
| ccShiftedObject (const ccShiftedObject &s) | |
| Copy constructor. More... | |
| void | copyGlobalShiftAndScale (const ccShiftedObject &s) |
| Copies the Global Shift and Scale from another entity. More... | |
| virtual void | setGlobalShift (double x, double y, double z) |
| Sets shift applied to original coordinates (information storage only) More... | |
| bool | isShifted () const |
| Returns whether the cloud is shifted or not. More... | |
| template<typename T > | |
| CCVector3d | toGlobal3d (const Vector3Tpl< T > &Plocal) const |
| Returns the point back-projected into the original coordinates system. More... | |
| template<typename T > | |
| CCVector3d | toLocal3d (const Vector3Tpl< T > &Pglobal) const |
| Returns the point projected into the local (shifted) coordinates system. More... | |
| template<typename T > | |
| CCVector3 | toLocal3pc (const Vector3Tpl< T > &Pglobal) const |
| Returns the point projected into the local (shifted) coordinates system. More... | |
| bool | getOwnGlobalBB (CCVector3d &minCorner, CCVector3d &maxCorner) override |
| GlobalBoundingBox | getOwnGlobalBB (bool withGLFeatures=false) override |
Public Member Functions inherited from ccHObject | |
| ccHObject (QString name=QString()) | |
| Default constructor. More... | |
| ccHObject (const ccHObject &object) | |
| Copy constructor. More... | |
| virtual | ~ccHObject () override |
| Default destructor. More... | |
| virtual Eigen::Vector2d | GetMin2DBound () const |
| virtual Eigen::Vector2d | GetMax2DBound () const |
| virtual ccHObject & | Scale (const double s) |
| virtual ccHObject & | Rotate (const Eigen::Matrix3d &R) |
| QString | getViewId () const |
| bool | isGroup () const |
| Returns whether the instance is a group. More... | |
| ccHObject * | getParent () const |
| Returns parent object. More... | |
| virtual QIcon | getIcon () const |
| Returns the icon associated to this entity. More... | |
| void | addDependency (ccHObject *otherObject, int flags, bool additive=true) |
| Adds a new dependence (additive or not) More... | |
| int | getDependencyFlagsWith (const ccHObject *otherObject) |
| Returns the dependency flags with a given object. More... | |
| void | removeDependencyWith (ccHObject *otherObject) |
| Removes any dependency flags with a given object. More... | |
| void | removeDependencyFlag (ccHObject *otherObject, DEPENDENCY_FLAGS flag) |
| Removes a given dependency flag. More... | |
| virtual bool | addChild (ccHObject *child, int dependencyFlags=DP_PARENT_OF_OTHER, int insertIndex=-1) |
| Adds a child. More... | |
| unsigned | getChildrenNumber () const |
| Returns the number of children. More... | |
| unsigned int | getChildCountRecursive () const |
| Returns the total number of children under this object recursively. More... | |
| ccHObject * | getChild (unsigned childPos) const |
| Returns the ith child. More... | |
| ccHObject * | find (unsigned uniqueID) |
| Finds an entity in this object hierarchy. More... | |
| unsigned | filterChildren (Container &filteredChildren, bool recursive=false, CV_CLASS_ENUM filter=CV_TYPES::OBJECT, bool strict=false) const |
| Collects the children corresponding to a certain pattern. More... | |
| void | detachChild (ccHObject *child) |
| Detaches a specific child. More... | |
| void | detachAllChildren () |
| Removes a specific child. More... | |
| void | getTypeID_recursive (std::vector< removeInfo > &rmInfos, bool relative) |
| void | getTypeID_recursive (std::vector< hideInfo > &hdInfos, bool relative) |
| void | removeChild (ccHObject *child) |
| void | removeChild (int pos) |
| Removes a specific child given its index. More... | |
| void | removeAllChildren () |
| Removes all children. More... | |
| int | getChildIndex (const ccHObject *aChild) const |
| Returns child index. More... | |
| void | swapChildren (unsigned firstChildIndex, unsigned secondChildIndex) |
| Swaps two children. More... | |
| int | getIndex () const |
| Returns index relatively to its parent or -1 if no parent. More... | |
| void | transferChild (ccHObject *child, ccHObject &newParent) |
| Transfer a given child to another parent. More... | |
| void | transferChildren (ccHObject &newParent, bool forceFatherDependent=false) |
| Transfer all children to another parent. More... | |
| ccHObject * | getFirstChild () const |
| Shortcut: returns first child. More... | |
| ccHObject * | getLastChild () const |
| Shortcut: returns last child. More... | |
| bool | isAncestorOf (const ccHObject *anObject) const |
| Returns true if the current object is an ancestor of the specified one. More... | |
| void | removeFromRenderScreen (bool recursive=true) |
| void | hideObject_recursive (bool recursive) |
| void | hideBB (CC_DRAW_CONTEXT context) |
| void | showBB (CC_DRAW_CONTEXT context) |
| void | setRedrawFlagRecursive (bool redraw=false) |
| void | setForceRedrawRecursive (bool redraw=false) |
| void | setPointSizeRecursive (int pSize) |
| void | setLineWidthRecursive (PointCoordinateType width) |
| virtual ccBBox | getBB_recursive (bool withGLFeatures=false, bool onlyEnabledChildren=true) |
| Returns the bounding-box of this entity and it's children. More... | |
| virtual GlobalBoundingBox | getGlobalBB_recursive (bool withGLFeatures=false, bool onlyEnabledChildren=true) |
| Returns the global bounding-box of this entity and it's children. More... | |
| virtual ccBBox | getDisplayBB_recursive (bool relative) |
| Returns the bounding-box of this entity and it's children WHEN DISPLAYED. More... | |
| virtual void | drawBB (CC_DRAW_CONTEXT &context, const ecvColor::Rgb &col) |
| Draws the entity (and its children) bounding-box. More... | |
| void | draw (CC_DRAW_CONTEXT &context) override |
| Draws entity and its children. More... | |
| void | updateNameIn3DRecursive () |
| void | setHideShowType (CC_DRAW_CONTEXT &context) |
| void | setRemoveType (CC_DRAW_CONTEXT &context) |
| ENTITY_TYPE | getEntityType () const |
| virtual void | redrawDisplay (bool forceRedraw=true, bool only2D=false) |
| Redraws associated display. More... | |
| bool | getAbsoluteGLTransformation (ccGLMatrix &trans) const |
| virtual bool | isDisplayed () const |
| Returns whether the object is actually displayed (visible) or not. More... | |
| virtual bool | isBranchEnabled () const |
| Returns whether the object and all its ancestors are enabled. More... | |
| virtual void | redrawDisplay_recursive (bool p) |
| virtual void | refreshDisplay_recursive (bool p) |
| virtual void | setSelected_recursive (bool p) |
| virtual void | toggleActivation_recursive () |
| virtual void | toggleVisibility_recursive () |
| virtual void | toggleColors_recursive () |
| virtual void | resetGLTransformationHistory_recursive () |
| virtual void | toggleNormals_recursive () |
| virtual void | toggleSF_recursive () |
| virtual void | toggleShowName_recursive () |
| unsigned | findMaxUniqueID_recursive () const |
| Returns the max 'unique ID' of this entity and its siblings. More... | |
| void | applyGLTransformation_recursive (const ccGLMatrix *trans=nullptr) |
| Applies the active OpenGL transformation to the entity (recursive) More... | |
| virtual void | notifyGeometryUpdate () |
| bool | toFile (QFile &out, short dataVersion) const override |
| Saves data to binary stream. More... | |
| bool | fromFile (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override |
| Loads data from binary stream. More... | |
| short | minimumFileVersion () const override |
| Returns the minimum file version required to save this instance. More... | |
| bool | fromFileNoChildren (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) |
| Custom version of ccSerializableObject::fromFile. More... | |
| virtual bool | isShareable () const |
| Returns whether object is shareable or not. More... | |
| virtual void | setSelectionBehavior (SelectionBehavior mode) |
| Sets selection behavior (when displayed) More... | |
| virtual SelectionBehavior | getSelectionBehavior () const |
| Returns selection behavior. More... | |
| virtual void | setGLTransformationHistory (const ccGLMatrix &mat) |
| Sets the transformation 'history' matrix (handle with care!) More... | |
| virtual void | resetGLTransformationHistory () |
| Resets the transformation 'history' matrix. More... | |
| bool | pushDisplayState () override |
| Pushes the current display state (overridden) More... | |
| void | popDisplayState (bool apply=true) override |
| Pops the last pushed display state (overridden) More... | |
Public Member Functions inherited from ccObject | |
| ccObject (QString name=QString()) | |
| Default constructor. More... | |
| ccObject (const ccObject &object) | |
| Copy constructor. More... | |
| virtual QString | getName () const |
| Returns object name. More... | |
| virtual void | setName (const QString &name) |
| Sets object name. More... | |
| virtual void | setRemoveFlag (bool removeFlag) |
| Sets removeFlag. More... | |
| virtual bool | getRemoveFlag () |
| Returns removeFlag. More... | |
| virtual unsigned | getUniqueID () const |
| Returns object unique ID. More... | |
| virtual void | setUniqueID (unsigned ID) |
| Changes unique ID. More... | |
| virtual bool | isEnabled () const |
| Returns whether the object is enabled or not. More... | |
| virtual void | setEnabled (bool state) |
| Sets the "enabled" property. More... | |
| virtual void | toggleActivation () |
| Toggles the "enabled" property. More... | |
| virtual bool | isLocked () const |
| Returns whether the object is locked or not. More... | |
| virtual void | setLocked (bool state) |
| Sets the "enabled" property. More... | |
| bool | isLeaf () const |
| bool | isCustom () const |
| bool | isHierarchy () const |
| bool | isKindOf (CV_CLASS_ENUM type) const |
| bool | isA (CV_CLASS_ENUM type) const |
| QVariant | getMetaData (const QString &key) const |
| Returns a given associated meta data. More... | |
| bool | removeMetaData (const QString &key) |
| Removes a given associated meta-data. More... | |
| void | setMetaData (const QString &key, const QVariant &data) |
| Sets a meta-data element. More... | |
| void | setMetaData (const QVariantMap &dataset, bool overwrite=false) |
| Sets several meta-data elements at a time. More... | |
| bool | hasMetaData (const QString &key) const |
| Returns whether a meta-data element with the given key exists or not. More... | |
| const QVariantMap & | metaData () const |
| Returns meta-data map (const only) More... | |
| void | setBaseName (const QString &baseName) |
| QString | getBaseName () const |
| void | setFullPath (const QString &fullPaht) |
| QString | getFullPath () const |
Public Member Functions inherited from ccSerializableObject | |
| virtual | ~ccSerializableObject ()=default |
| Destructor. More... | |
Public Member Functions inherited from ccDrawableObject | |
| ccDrawableObject () | |
| Default constructor. More... | |
| ccDrawableObject (const ccDrawableObject &object) | |
| Copy constructor. More... | |
| virtual | ~ccDrawableObject ()=default |
| virtual bool | isVisible () const |
| Returns whether entity is visible or not. More... | |
| virtual void | setVisible (bool state) |
| Sets entity visibility. More... | |
| virtual void | toggleVisibility () |
| Toggles visibility. More... | |
| virtual bool | isRedraw () const |
| Returns whether entity is to be redraw. More... | |
| virtual void | setRedraw (bool state) |
| Sets entity redraw mode. More... | |
| virtual void | setForceRedraw (bool state) |
| Sets force redraw. More... | |
| virtual void | setFixedId (bool state) |
| virtual bool | isFixedId () |
| virtual bool | isVisibilityLocked () const |
| Returns whether visibility is locked or not. More... | |
| virtual void | lockVisibility (bool state) |
| Locks/unlocks visibility. More... | |
| virtual bool | isSelected () const |
| Returns whether entity is selected or not. More... | |
| virtual void | setSelected (bool state) |
| Selects/Unselects entity. More... | |
| virtual void | getDrawingParameters (glDrawParams ¶ms) const |
| Returns main OpenGL parameters for this entity. More... | |
| virtual bool | colorsShown () const |
| Returns whether colors are shown or not. More... | |
| virtual void | showColors (bool state) |
| Sets colors visibility. More... | |
| virtual void | toggleColors () |
| Toggles colors display state. More... | |
| virtual void | toggleNormals () |
| Toggles normals display state. More... | |
| virtual void | showSF (bool state) |
| Sets active scalarfield visibility. More... | |
| virtual void | toggleSF () |
| Toggles SF display state. More... | |
| virtual bool | sfShown () const |
| Returns whether active scalar field is visible. More... | |
| virtual void | showNameIn3D (bool state) |
| Sets whether name should be displayed in 3D. More... | |
| virtual bool | nameShownIn3D () const |
| Returns whether name is displayed in 3D or not. More... | |
| virtual void | toggleShowName () |
| Toggles name in 3D display state. More... | |
| virtual bool | isColorOverridden () const |
| virtual const ecvColor::Rgb & | getTempColor () const |
| Returns current temporary (unique) color. More... | |
| virtual void | setTempColor (const ecvColor::Rgb &col, bool autoActivate=true) |
| Sets current temporary (unique) More... | |
| virtual void | enableTempColor (bool state) |
| Set temporary color activation state. More... | |
| virtual float | getOpacity () const |
| virtual void | setOpacity (float opacity) |
| Set opacity activation state. More... | |
| virtual void | setGLTransformation (const ccGLMatrix &trans) |
| Associates entity with a GL transformation (rotation + translation) More... | |
| virtual void | enableGLTransformation (bool state) |
| Enables/disables associated GL transformation. More... | |
| virtual bool | isGLTransEnabled () const |
| Returns whether a GL transformation is enabled or not. More... | |
| virtual const ccGLMatrix & | getGLTransformation () const |
| Returns associated GL transformation. More... | |
| virtual void | resetGLTransformation () |
| Resets associated GL transformation. More... | |
| virtual void | rotateGL (const ccGLMatrix &rotMat) |
| Multiplies (left) current GL transformation by a rotation matrix. More... | |
| virtual void | translateGL (const CCVector3 &trans) |
| Translates current GL transformation by a rotation matrix. More... | |
| virtual void | removeAllClipPlanes () |
| Removes all clipping planes (if any) More... | |
| virtual bool | addClipPlanes (const ccClipPlane &plane) |
| Registers a new clipping plane. More... | |
| virtual void | toggleClipPlanes (CC_DRAW_CONTEXT &context, bool enable) |
| Enables or disables clipping planes (OpenGL) More... | |
| virtual void | applyDisplayState (const DisplayState &state) |
| Applies a display state. More... | |
Public Member Functions inherited from ccPlanarEntityInterface | |
| ccPlanarEntityInterface () | |
| Default constructor. More... | |
| ccPlanarEntityInterface (unsigned int id) | |
| void | showNormalVector (bool state) |
| Show normal vector. More... | |
| bool | normalVectorIsShown () const |
| Whether normal vector is shown or not. More... | |
| void | glDrawNormal (CC_DRAW_CONTEXT &context, const CCVector3 &pos, float scale, const ecvColor::Rgb *color=0) |
| Draws a normal vector (OpenGL) More... | |
| void | clearNormalVector (CC_DRAW_CONTEXT &context) |
Public Member Functions inherited from ccMeasurement | |
| ccMeasurement () | |
| virtual | ~ccMeasurement () |
| void | setDefaultColor (const ecvColor::Rgb &col) |
| void | setHighlightColor (const ecvColor::Rgb &col) |
| void | setActiveColor (const ecvColor::Rgb &col) |
| void | setAlternateColor (const ecvColor::Rgb &col) |
| ecvColor::Rgb | getMeasurementColour () const |
| void | setActive (bool isActive) |
| void | setHighlight (bool isActive) |
| void | setAlternate (bool isActive) |
| void | setNormal () |
Static Public Member Functions | |
| static ccFitPlane * | Fit (cloudViewer::GenericIndexedCloudPersist *cloud, double *rms) |
| static bool | isFitPlane (ccHObject *object) |
Static Public Member Functions inherited from ccPlane | |
| static bool | SetQuadTexture (ccMesh *quadMesh, QImage image, QString imageFilename=QString()) |
| Sets an image as texture for a quad mesh. More... | |
| static ccPlane * | Fit (cloudViewer::GenericIndexedCloudPersist *cloud, double *rms=0) |
| Fits a plane primitive on a cloud. More... | |
Static Public Member Functions inherited from ccMesh | |
| static cloudViewer::VerticesIndexes | GetOrderedTriangle (int vidx0, int vidx1, int vidx2) |
| static ccMesh * | Triangulate (ccGenericPointCloud *cloud, cloudViewer::TRIANGULATION_TYPES type, bool updateNormals=false, PointCoordinateType maxEdgeLength=0, unsigned char dim=2) |
| Creates a Delaunay 2.5D mesh from a point cloud. More... | |
| static ccMesh * | TriangulateTwoPolylines (ccPolyline *p1, ccPolyline *p2, CCVector3 *projectionDir=nullptr) |
| Creates a Delaunay 2.5D mesh from two polylines. More... | |
| static double | ComputeTriangleArea (const Eigen::Vector3d &p0, const Eigen::Vector3d &p1, const Eigen::Vector3d &p2) |
| Function that computes the area of a mesh triangle. More... | |
| static Eigen::Vector3i | GetEigneOrderedTriangle (int vidx0, int vidx1, int vidx2) |
| static Eigen::Vector4d | ComputeTrianglePlane (const Eigen::Vector3d &p0, const Eigen::Vector3d &p1, const Eigen::Vector3d &p2) |
| static Eigen::Vector2i | GetOrderedEdge (int vidx0, int vidx1) |
| Helper function to get an edge with ordered vertex indices. More... | |
| static std::shared_ptr< ccMesh > | CreateFromPointCloudAlphaShape (const ccPointCloud &pcd, double alpha, std::shared_ptr< cloudViewer::geometry::TetraMesh > tetra_mesh=nullptr, std::vector< size_t > *pt_map=nullptr) |
| Alpha shapes are a generalization of the convex hull. With decreasing alpha value the shape schrinks and creates cavities. See Edelsbrunner and Muecke, "Three-Dimensional Alpha Shapes", 1994. More... | |
| static std::shared_ptr< ccMesh > | CreateFromPointCloudBallPivoting (const ccPointCloud &pcd, const std::vector< double > &radii) |
| static std::tuple< std::shared_ptr< ccMesh >, std::vector< double > > | CreateFromPointCloudPoisson (const ccPointCloud &pcd, size_t depth=8, size_t width=0, float scale=1.1f, bool linear_fit=false, float point_weight=2.f, float samples_per_node=1.5f, int boundary_type=2, int n_threads=-1) |
| Function that computes a triangle mesh from a oriented PointCloud pcd. This implements the Screened Poisson Reconstruction proposed in Kazhdan and Hoppe, "Screened Poisson Surface Reconstruction", 2013. This function uses the original implementation by Kazhdan. See https://github.com/mkazhdan/PoissonRecon. More... | |
| static std::shared_ptr< ccMesh > | CreateTetrahedron (double radius=1.0, bool create_uv_map=false) |
| static std::shared_ptr< ccMesh > | CreateOctahedron (double radius=1.0, bool create_uv_map=false) |
| static std::shared_ptr< ccMesh > | CreateIcosahedron (double radius=1.0, bool create_uv_map=false) |
| static std::shared_ptr< ccMesh > | CreatePlane (double width=1.0, double height=1.0, bool create_uv_map=false) |
| static std::shared_ptr< ccMesh > | CreateBox (double width=1.0, double height=1.0, double depth=1.0, bool create_uv_map=false, bool map_texture_to_each_face=false) |
| static std::shared_ptr< ccMesh > | CreateSphere (double radius=1.0, int resolution=20, bool create_uv_map=false) |
| static std::shared_ptr< ccMesh > | CreateCylinder (double radius=1.0, double height=2.0, int resolution=20, int split=4, bool create_uv_map=false) |
| static std::shared_ptr< ccMesh > | CreateCone (double radius=1.0, double height=2.0, int resolution=20, int split=1, bool create_uv_map=false) |
| static std::shared_ptr< ccMesh > | CreateTorus (double torus_radius=1.0, double tube_radius=0.5, int radial_resolution=30, int tubular_resolution=20) |
| static std::shared_ptr< ccMesh > | CreateArrow (double cylinder_radius=1.0, double cone_radius=1.5, double cylinder_height=5.0, double cone_height=4.0, int resolution=20, int cylinder_split=4, int cone_split=1) |
| static std::shared_ptr< ccMesh > | CreateCoordinateFrame (double size=1.0, const Eigen::Vector3d &origin=Eigen::Vector3d(0.0, 0.0, 0.0)) |
| static std::shared_ptr< ccMesh > | CreateMobius (int length_split=70, int width_split=15, int twists=1, double radius=1, double flatness=1, double width=1, double scale=1) |
Static Public Member Functions inherited from ccGenericMesh | |
| static bool | IsCloudVerticesOfMesh (ccGenericPointCloud *cloud, ccGenericMesh **mesh=nullptr) |
| Helper to determine if the input cloud acts as vertices of a mesh. More... | |
Static Public Member Functions inherited from ccHObject | |
| static ccHObject * | New (CV_CLASS_ENUM objectType, const char *name=nullptr) |
| Static factory. More... | |
| static ccHObject * | New (const QString &pluginId, const QString &classId, const char *name=nullptr) |
| Static factory (version to be used by external plugin factories) More... | |
| static Eigen::Vector3d | ComputeMinBound (const std::vector< Eigen::Vector3d > &points) |
| Compute min bound of a list points. More... | |
| static Eigen::Vector3d | ComputeMaxBound (const std::vector< Eigen::Vector3d > &points) |
| Compute max bound of a list points. More... | |
| static Eigen::Vector3d | ComputeCenter (const std::vector< Eigen::Vector3d > &points) |
| Computer center of a list of points. More... | |
| static void | ResizeAndPaintUniformColor (std::vector< Eigen::Vector3d > &colors, std::size_t size, const Eigen::Vector3d &color) |
| Resizes the colors vector and paints a uniform color. More... | |
| static void | TransformPoints (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &points) |
| Transforms all points with the transformation matrix. More... | |
| static void | TransformNormals (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &normals) |
| Transforms the normals with the transformation matrix. More... | |
| static void | TransformCovariances (const Eigen::Matrix4d &transformation, std::vector< Eigen::Matrix3d > &covariances) |
| Transforms all covariance matrices with the transformation. More... | |
| static void | TranslatePoints (const Eigen::Vector3d &translation, std::vector< Eigen::Vector3d > &points, bool relative) |
| Apply translation to the geometry coordinates. More... | |
| static void | ScalePoints (const double scale, std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d ¢er) |
Scale the coordinates of all points by the scaling factor scale. More... | |
| static void | RotatePoints (const Eigen::Matrix3d &R, std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d ¢er) |
Rotate all points with the rotation matrix R. More... | |
| static void | RotateNormals (const Eigen::Matrix3d &R, std::vector< Eigen::Vector3d > &normals) |
Rotate all normals with the rotation matrix R. More... | |
| static void | RotateCovariances (const Eigen::Matrix3d &R, std::vector< Eigen::Matrix3d > &covariances) |
Rotate all covariance matrices with the rotation matrix R. More... | |
| 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... | |
| static Eigen::Matrix3d | GetRotationMatrixFromEulerAngle (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from Euler angle. More... | |
Static Public Member Functions inherited from ccObject | |
| static unsigned | GetCurrentDBVersion () |
| Returns current database version. More... | |
| static void | SetUniqueIDGenerator (ccUniqueIDGenerator::Shared generator) |
| Sets the unique ID generator. More... | |
| static ccUniqueIDGenerator::Shared | GetUniqueIDGenerator () |
| Returns the unique ID generator. More... | |
| static unsigned | GetNextUniqueID () |
| Returns a new unassigned unique ID. More... | |
| static unsigned | GetLastUniqueID () |
| Returns last assigned unique ID. More... | |
| static CV_CLASS_ENUM | ReadClassIDFromFile (QFile &in, short dataVersion) |
| Helper: reads out class ID from a binary stream. More... | |
Static Public Member Functions inherited from ccSerializableObject | |
| static bool | WriteError () |
| Sends a custom error message (write error) and returns 'false'. More... | |
| static bool | ReadError () |
| Sends a custom error message (read error) and returns 'false'. More... | |
| static bool | MemoryError () |
| Sends a custom error message (not enough memory) and returns 'false'. More... | |
| static bool | CorruptError () |
| Sends a custom error message (corrupted file) and returns 'false'. More... | |
Additional Inherited Members | |
Public Types inherited from ccMesh | |
| enum | MESH_SCALAR_FIELD_PROCESS { SMOOTH_MESH_SF , ENHANCE_MESH_SF } |
| Mesh scalar field processes. More... | |
| using | triangleIndexesContainer = ccArray< cloudViewer::VerticesIndexes, 3, unsigned > |
| Container of per-triangle vertices indexes (3) More... | |
| using | triangleMaterialIndexesSet = ccArray< int, 1, int > |
| Container of per-triangle material descriptors. More... | |
Public Types inherited from cloudViewer::GenericMesh | |
| enum class | SimplificationContraction { Average , Quadric } |
| Indicates the method that is used for mesh simplification if multiple vertices are combined to a single one. More... | |
| enum class | FilterScope { All , Color , Normal , Vertex } |
| Indicates the scope of filter operations. More... | |
| enum class | DeformAsRigidAsPossibleEnergy { Spokes , Smoothed } |
| using | genericTriangleAction = std::function< void(GenericTriangle &)> |
| Generic function to apply to a triangle (used by foreach) More... | |
Public Types inherited from ccHObject | |
| enum | DEPENDENCY_FLAGS { DP_NONE = 0 , DP_NOTIFY_OTHER_ON_DELETE = 1 , DP_NOTIFY_OTHER_ON_UPDATE , DP_DELETE_OTHER = 8 , DP_PARENT_OF_OTHER = 24 } |
| Dependency flags. More... | |
| enum | SelectionBehavior { SELECTION_AA_BBOX , SELECTION_FIT_BBOX , SELECTION_IGNORED } |
| Behavior when selected. More... | |
| using | Container = std::vector< ccHObject * > |
| Standard instances container (for children, etc.) More... | |
| using | Shared = QSharedPointer< ccHObject > |
| Shared pointer. More... | |
| using | SharedContainer = std::vector< Shared > |
| Shared instances container (for children, etc.) More... | |
| using | GlobalBoundingBox = cloudViewer::BoundingBoxTpl< double > |
| Global (non-shifted) bounding-box. More... | |
Public Types inherited from ccSerializableObject | |
| enum | DeserializationFlags { DF_POINT_COORDS_64_BITS , DF_SCALAR_VAL_32_BITS = 2 } |
| Deserialization flags (bit-field) More... | |
| typedef QMultiMap< unsigned, unsigned > | LoadedIDMap |
| Map of loaded unique IDs (old ID --> new ID) More... | |
Public Attributes inherited from ccMesh | |
| std::vector< std::unordered_set< int > > | adjacency_list_ |
| std::vector< Eigen::Vector2d > | triangle_uvs_ |
| List of uv coordinates per triangle. More... | |
| std::vector< std::pair< std::string, Material > > | materials_ |
| std::vector< int > | triangle_material_ids_ |
| List of material ids. More... | |
| std::vector< cloudViewer::geometry::Image > | textures_ |
| Textures of the image. More... | |
Static Public Attributes inherited from ccGenericPrimitive | |
| static const int | MIN_DRAWING_PRECISION = 4 |
| Minimum drawing precision. More... | |
Static Public Attributes inherited from ccMesh | |
| static const unsigned char | DefaultMergeDulicateVerticesLevel = 10 |
| Default octree level for the 'mergeDuplicatedVertices' algorithm. More... | |
Protected Types inherited from ccMesh | |
| using | triangleTexCoordIndexesSet = ccArray< Tuple3i, 3, int > |
| Set of triplets of indexes referring to mesh texture coordinates. More... | |
| using | triangleNormalsIndexesSet = ccArray< Tuple3i, 3, int > |
| Set of triplets of indexes referring to mesh normals. More... | |
Protected Member Functions inherited from ccPlane | |
| virtual void | drawMeOnly (CC_DRAW_CONTEXT &context) override |
| Enables (OpenGL) stipple mask. More... | |
| bool | toFile_MeOnly (QFile &out, short dataVersion) const override |
| Save own object data. More... | |
| short | minimumFileVersion_MeOnly () const override |
| bool | fromFile_MeOnly (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override |
| Loads own object data. More... | |
| virtual bool | buildUp () override |
| Builds primitive. More... | |
Protected Member Functions inherited from ccGenericPrimitive | |
| void | applyGLTransformation (const ccGLMatrix &trans) override |
| Inherited from ccGenericMesh. More... | |
| virtual bool | updateRepresentation () |
| Updates internal representation (as a mesh) More... | |
| bool | init (unsigned vertCount, bool vertNormals, unsigned faceCount, unsigned faceNormCount) |
| Inits internal structures. More... | |
| void | applyTransformationToVertices () |
| Applies associated transformation to vertices. More... | |
| ccGenericPrimitive * | finishCloneJob (ccGenericPrimitive *primitive) const |
| Finished 'clone' job (vertices color, etc.) More... | |
| ccPointCloud * | vertices () |
| Returns vertices. More... | |
Protected Member Functions inherited from ccMesh | |
| void | FilterSmoothLaplacianHelper (std::shared_ptr< ccMesh > &mesh, const std::vector< CCVector3 > &prev_vertices, const std::vector< CCVector3 > &prev_vertex_normals, const ColorsTableType &prev_vertex_colors, const std::vector< std::unordered_set< int >> &adjacency_list, double lambda, bool filter_vertex, bool filter_normal, bool filter_color) const |
| void | applyGLTransformation (const ccGLMatrix &trans) override |
| Applies a GL transformation to the entity. More... | |
| void | onUpdateOf (ccHObject *obj) override |
| This method is called when another object (geometry) is updated. More... | |
| void | onDeletionOf (const ccHObject *obj) override |
| This method is called when another object is deleted. More... | |
| void | computeInterpolationWeights (const cloudViewer::VerticesIndexes &vertIndexes, const CCVector3 &P, CCVector3d &weights) const |
| bool | interpolateNormals (const cloudViewer::VerticesIndexes &vertIndexes, const CCVector3d &w, CCVector3 &N, const Tuple3i *triNormIndexes=nullptr) |
| bool | interpolateColors (const cloudViewer::VerticesIndexes &vertIndexes, const CCVector3 &P, ecvColor::Rgb &C) |
| bool | pushSubdivide (unsigned indexA, unsigned indexB, unsigned indexC) |
| Used internally by 'subdivide'. More... | |
| virtual void | showNormals_extended (bool p) |
Protected Member Functions inherited from ccGenericMesh | |
| virtual bool | trianglePicking (unsigned triIndex, const CCVector2d &clickPos, const ccGLMatrix &trans, bool noGLTrans, const ccGenericPointCloud &vertices, const ccGLCameraParameters &camera, CCVector3d &point, CCVector3d *barycentricCoords=nullptr) const |
| Triangle picking (single triangle) More... | |
| void | handleColorRamp (CC_DRAW_CONTEXT &context) |
| Handles the color ramp display. More... | |
Protected Member Functions inherited from ccShiftedObject | |
| bool | saveShiftInfoToFile (QFile &out) const |
| Serialization helper (output) More... | |
| bool | loadShiftInfoFromFile (QFile &in) |
| Serialization helper (input) More... | |
Protected Member Functions inherited from ccHObject | |
| virtual void | setParent (ccHObject *anObject) |
| Sets parent object. More... | |
| virtual void | drawNameIn3D () |
| Draws the entity name in 3D. More... | |
Protected Member Functions inherited from ccObject | |
| virtual bool | getFlagState (CV_OBJECT_FLAG flag) const |
| Returns flag state. More... | |
| virtual void | setFlagState (CV_OBJECT_FLAG flag, bool state) |
| Sets flag state. More... | |
| bool | toFile (QFile &out, short dataVersion) const override |
| Saves data to binary stream. More... | |
| short | minimumFileVersion () const override |
| Returns the minimum file version required to save this instance. More... | |
| bool | fromFile (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override |
| Reimplemented from ccSerializableObject::fromFile. More... | |
Static Protected Member Functions inherited from ccGenericMesh | |
| static CCVector3 * | GetVertexBuffer () |
| static CCVector3 * | GetNormalsBuffer () |
| static ecvColor::Rgb * | GetColorsBuffer () |
| static unsigned * | GetWireVertexIndexes () |
| Returns a pre-initialized array of vertex indexes for wired display. More... | |
Protected Attributes inherited from ccPlane | |
| PointCoordinateType | m_xWidth |
| Width along 'X' dimension. More... | |
| PointCoordinateType | m_yWidth |
| Width along 'Y' dimension. More... | |
| PointCoordinateType | m_PlaneEquation [4] |
Protected Attributes inherited from ccGenericPrimitive | |
| ccGLMatrix | m_transformation |
| Associated transformation (applied to vertices) More... | |
| unsigned | m_drawPrecision |
| Drawing precision (for primitives that support this feature) More... | |
Protected Attributes inherited from ccMesh | |
| ccGenericPointCloud * | m_associatedCloud |
| associated cloud (vertices) More... | |
| NormsIndexesTableType * | m_triNormals |
| Per-triangle normals. More... | |
| TextureCoordsContainer * | m_texCoords |
| Texture coordinates. More... | |
| ccMaterialSet * | m_materials |
| Materials. More... | |
| triangleIndexesContainer * | m_triVertIndexes |
| Triangles' vertices indexes (3 per triangle) More... | |
| unsigned | m_globalIterator |
| Iterator on the list of triangles. More... | |
| cloudViewer::SimpleRefTriangle | m_currentTriangle |
| Dump triangle structure to transmit temporary data. More... | |
| ccBBox | m_bBox |
| Bounding-box. More... | |
| triangleMaterialIndexesSet * | m_triMtlIndexes |
| Per-triangle material indexes. More... | |
| triangleTexCoordIndexesSet * | m_texCoordIndexes |
| Mesh tex coords indexes (per-triangle) More... | |
| triangleNormalsIndexesSet * | m_triNormalIndexes |
| Mesh normals indexes (per-triangle) More... | |
Protected Attributes inherited from ccGenericMesh | |
| bool | m_triNormsShown |
| Per-triangle normals display flag. More... | |
| bool | m_materialsShown |
| Texture/material display flag. More... | |
| bool | m_showWired |
| Wireframe display mode. More... | |
| bool | m_showPoints |
| points display mode More... | |
| bool | m_stippling |
| Polygon stippling state. More... | |
Protected Attributes inherited from ccShiftedObject | |
| CCVector3d | m_globalShift |
| Global shift (typically applied at loading time) More... | |
| double | m_globalScale |
| Global scale (typically applied at loading time) More... | |
Protected Attributes inherited from ccHObject | |
| ccHObject * | m_parent |
| Parent. More... | |
| Container | m_children |
| Children. More... | |
| SelectionBehavior | m_selectionBehavior |
| Selection behavior. More... | |
| std::map< ccHObject *, int > | m_dependencies |
| Dependencies map. More... | |
| ccGLMatrix | m_glTransHistory |
| Cumulative GL transformation. More... | |
| bool | m_isDeleting |
| Flag to safely handle dependencies when the object is being deleted. More... | |
Protected Attributes inherited from ccObject | |
| QString | m_name |
| Object name. More... | |
| QString | m_baseName |
| QString | m_filePath |
| bool | m_removeFlag |
| unsigned | m_flags |
| Object flags. More... | |
| QVariantMap | m_metaData |
| Associated meta-data. More... | |
Protected Attributes inherited from ccDrawableObject | |
| bool | m_fixedId |
| bool | m_modelRedraw |
| bool | m_forceRedraw |
| float | m_opacity |
| bool | m_visible |
| Specifies whether the object is visible or not. More... | |
| bool | m_selected |
| Specifies whether the object is selected or not. More... | |
| bool | m_lockedVisibility |
| Specifies whether the visibility can be changed by user or not. More... | |
| bool | m_colorsDisplayed |
| Specifies whether colors should be displayed. More... | |
| bool | m_normalsDisplayed |
| Specifies whether normals should be displayed. More... | |
| bool | m_sfDisplayed |
| Specifies whether scalar field should be displayed. More... | |
| ecvColor::Rgb | m_tempColor |
| Temporary (unique) color. More... | |
| bool | m_colorIsOverridden |
| Temporary (unique) color activation state. More... | |
| ccGLMatrix | m_glTrans |
| Current GL transformation. More... | |
| bool | m_glTransEnabled |
| Current GL transformation activation state. More... | |
| bool | m_showNameIn3D |
| Whether name is displayed in 3D or not. More... | |
| CCVector3d | m_nameIn3DPos |
| Last 2D position of the '3D' name. More... | |
| ccClipPlaneSet | m_clipPlanes |
| Active clipping planes (used for display only) More... | |
| std::vector< DisplayState::Shared > | m_displayStateStack |
| The stack of pushed display states. More... | |
Protected Attributes inherited from ccPlanarEntityInterface | |
| bool | m_showNormalVector |
| Whether the facet normal vector should be displayed or not. More... | |
| unsigned int | m_uniqueId |
| QString | m_bodyId |
| QString | m_headId |
Protected Attributes inherited from ccMeasurement | |
| bool | m_isActive = false |
| bool | m_isHighlighted = false |
| bool | m_isAlternate = false |
| ecvColor::Rgb | m_active_colour = ecvColor::yellow |
| ecvColor::Rgb | m_highlight_colour = ecvColor::green |
| ecvColor::Rgb | m_alternate_colour = ecvColor::cyan |
| ecvColor::Rgb | m_normal_colour = ecvColor::blue |
Definition at line 19 of file ccFitPlane.h.
| ccFitPlane::ccFitPlane | ( | ccPlane * | p | ) |
Definition at line 11 of file ccFitPlane.cpp.
References ccPlane::clone(), ccNormalVectors::ConvertNormalToDipAndDipDir(), ccCompass::drawName, ccCompass::drawNormals, ccCompass::drawStippled, ccGenericMesh::enableStippling(), ccObject::getMetaData(), ccPlane::getNormal(), ccObject::hasMetaData(), ccObject::setMetaData(), ccObject::setName(), ccDrawableObject::showNameIn3D(), ccPlanarEntityInterface::showNormalVector(), updateAttributes(), and Tuple3Tpl< Type >::z.
Referenced by Fit().
| ccFitPlane::~ccFitPlane | ( | ) |
Definition at line 54 of file ccFitPlane.cpp.
|
static |
Definition at line 120 of file ccFitPlane.cpp.
References ccFitPlane(), ccPlane::Fit(), and ccHObject::transferChildren().
Referenced by ccTrace::fitPlane(), ccCompass::fitPlaneToGeoObject(), and ccFitPlaneTool::pointPicked().
|
static |
Definition at line 99 of file ccFitPlane.cpp.
References ccObject::hasMetaData().
Referenced by ccTraceTool::pickupTrace(), ccCompass::recalculateFitPlanes(), ccCompass::recurseLabels(), ccCompass::recurseNormals(), ccCompass::recurseStipple(), and ccCompass::tryLoading().
| void ccFitPlane::updateAttributes | ( | float | rms, |
| float | search_r | ||
| ) |
Definition at line 56 of file ccFitPlane.cpp.
References ccNormalVectors::ConvertNormalToDipAndDipDir(), ccPlane::getCenter(), ccPlane::getNormal(), ccObject::setMetaData(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by ccFitPlane(), ccTrace::fitPlane(), and ccFitPlaneTool::pointPicked().