ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvContourExtractor.cpp File Reference
#include "ecvContourExtractor.h"
#include "ecvContourExtractorDlg.h"
#include <DistanceComputationTools.h>
#include <Neighbourhood.h>
#include <PointProjectionTools.h>
#include <CVLog.h>
#include <ecv2DLabel.h>
#include <ecvPointCloud.h>
#include <assert.h>
#include <cmath>
#include <set>
Include dependency graph for ecvContourExtractor.cpp:

Go to the source code of this file.

Classes

struct  Edge
 

Typedefs

typedef cloudViewer::PointProjectionTools::IndexedCCVector2 Vertex2D
 
typedef std::list< Vertex2D * >::iterator VertexIterator
 
typedef std::list< Vertex2D * >::const_iterator ConstVertexIterator
 
typedef std::list< Vertex2D * > Hull2D
 

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

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

Typedef Documentation

◆ ConstVertexIterator

typedef std::list<Vertex2D*>::const_iterator ConstVertexIterator

Definition at line 42 of file ecvContourExtractor.cpp.

◆ Hull2D

typedef std::list<Vertex2D*> Hull2D

Definition at line 657 of file ecvContourExtractor.cpp.

◆ Vertex2D

◆ VertexIterator

typedef std::list<Vertex2D*>::iterator VertexIterator

Definition at line 41 of file ecvContourExtractor.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 33 of file ecvContourExtractor.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,
bool  allowLongerChunks = false,
double  minCosAngle = -1.0 
)
static

Finds the nearest (available) point to an edge.

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

Definition at line 67 of file ecvContourExtractor.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 ccContourExtractor::ExtractConcaveHull2D().