ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
PointProjectionTools.cpp File Reference
#include <PointProjectionTools.h>
#include <CVMath.h>
#include <CVPointCloud.h>
#include <Delaunay2dMesh.h>
#include <DistanceComputationTools.h>
#include <GenericProgressCallback.h>
#include <Neighbourhood.h>
#include <ParallelSort.h>
#include <SimpleMesh.h>
#include <set>
Include dependency graph for PointProjectionTools.cpp:

Go to the source code of this file.

Classes

struct  Edge
 

Typedefs

using Vertex2D = cloudViewer::PointProjectionTools::IndexedCCVector2
 
using VertexIterator = std::list< Vertex2D * >::iterator
 
using ConstVertexIterator = std::list< Vertex2D * >::const_iterator
 

Enumerations

enum  HullPointFlags {
  POINT_NOT_USED = 0 , POINT_USED = 1 , POINT_IGNORED = 2 , POINT_FROZEN = 3 ,
  POINT_NOT_USED = 0 , POINT_USED = 1 , POINT_IGNORED = 2 , POINT_FROZEN = 3
}
 

Functions

bool LexicographicSort (const CCVector2 &a, const CCVector2 &b)
 
static PointCoordinateType FindNearestCandidate (unsigned &minIndex, const VertexIterator &itA, const VertexIterator &itB, const std::vector< Vertex2D > &points, const std::vector< HullPointFlags > &pointFlags, PointCoordinateType minSquareEdgeLength, PointCoordinateType maxSquareEdgeLength, bool allowLongerChunks=false)
 Finds the nearest (available) point to an edge. More...
 

Typedef Documentation

◆ ConstVertexIterator

using ConstVertexIterator = std::list<Vertex2D*>::const_iterator

Definition at line 489 of file PointProjectionTools.cpp.

◆ Vertex2D

◆ VertexIterator

using VertexIterator = std::list<Vertex2D*>::iterator

Definition at line 488 of file PointProjectionTools.cpp.

Enumeration Type Documentation

◆ HullPointFlags

Enumerator
POINT_NOT_USED 
POINT_USED 
POINT_IGNORED 
POINT_FROZEN 
POINT_NOT_USED 
POINT_USED 
POINT_IGNORED 
POINT_FROZEN 

Definition at line 480 of file PointProjectionTools.cpp.

Function Documentation

◆ FindNearestCandidate()

static PointCoordinateType FindNearestCandidate ( unsigned &  minIndex,
const VertexIterator itA,
const VertexIterator itB,
const std::vector< Vertex2D > &  points,
const std::vector< HullPointFlags > &  pointFlags,
PointCoordinateType  minSquareEdgeLength,
PointCoordinateType  maxSquareEdgeLength,
bool  allowLongerChunks = false 
)
static

Finds the nearest (available) point to an edge.

Returns
The nearest point distance (or -1 if no point was found!)

Definition at line 514 of file PointProjectionTools.cpp.

References Vector2Tpl< Type >::dot(), dot(), cloudViewer::PointProjectionTools::IndexedCCVector2::index, Vector2Tpl< Type >::norm2(), POINT_NOT_USED, points, Vector2Tpl< Type >::x, and Vector2Tpl< Type >::y.

Referenced by cloudViewer::PointProjectionTools::extractConcaveHull2D().

◆ LexicographicSort()

bool LexicographicSort ( const CCVector2 a,
const CCVector2 b 
)
inline