ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
BallPivoting Class Reference

Public Member Functions

 BallPivoting (const ccPointCloud &pcd)
 
virtual ~BallPivoting ()
 
bool ComputeBallCenter (int vidx1, int vidx2, int vidx3, double radius, Eigen::Vector3d &center)
 
BallPivotingEdgePtr GetLinkingEdge (const BallPivotingVertexPtr &v0, const BallPivotingVertexPtr &v1)
 
void CreateTriangle (const BallPivotingVertexPtr &v0, const BallPivotingVertexPtr &v1, const BallPivotingVertexPtr &v2, const Eigen::Vector3d &center)
 
Eigen::Vector3d ComputeFaceNormal (const Eigen::Vector3d &v0, const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
 
bool IsCompatible (const BallPivotingVertexPtr &v0, const BallPivotingVertexPtr &v1, const BallPivotingVertexPtr &v2)
 
BallPivotingVertexPtr FindCandidateVertex (const BallPivotingEdgePtr &edge, double radius, Eigen::Vector3d &candidate_center)
 
void ExpandTriangulation (double radius)
 
bool TryTriangleSeed (const BallPivotingVertexPtr &v0, const BallPivotingVertexPtr &v1, const BallPivotingVertexPtr &v2, const std::vector< int > &nb_indices, double radius, Eigen::Vector3d &center)
 
bool TrySeed (BallPivotingVertexPtr &v, double radius)
 
void FindSeedTriangle (double radius)
 
std::shared_ptr< ccMeshRun (const std::vector< double > &radii)
 

Detailed Description

Definition at line 145 of file SurfaceReconstructionBallPivoting.cpp.

Constructor & Destructor Documentation

◆ BallPivoting()

◆ ~BallPivoting()

virtual BallPivoting::~BallPivoting ( )
inlinevirtual

Definition at line 180 of file SurfaceReconstructionBallPivoting.cpp.

Member Function Documentation

◆ ComputeBallCenter()

bool BallPivoting::ComputeBallCenter ( int  vidx1,
int  vidx2,
int  vidx3,
double  radius,
Eigen::Vector3d &  center 
)
inline

Definition at line 186 of file SurfaceReconstructionBallPivoting.cpp.

References a, e, and height.

◆ ComputeFaceNormal()

Eigen::Vector3d BallPivoting::ComputeFaceNormal ( const Eigen::Vector3d &  v0,
const Eigen::Vector3d &  v1,
const Eigen::Vector3d &  v2 
)
inline

Definition at line 300 of file SurfaceReconstructionBallPivoting.cpp.

References normal.

◆ CreateTriangle()

void BallPivoting::CreateTriangle ( const BallPivotingVertexPtr v0,
const BallPivotingVertexPtr v1,
const BallPivotingVertexPtr v2,
const Eigen::Vector3d &  center 
)
inline

◆ ExpandTriangulation()

void BallPivoting::ExpandTriangulation ( double  radius)
inline

◆ FindCandidateVertex()

BallPivotingVertexPtr BallPivoting::FindCandidateVertex ( const BallPivotingEdgePtr edge,
double  radius,
Eigen::Vector3d &  candidate_center 
)
inline

◆ FindSeedTriangle()

void BallPivoting::FindSeedTriangle ( double  radius)
inline

Definition at line 669 of file SurfaceReconstructionBallPivoting.cpp.

References LogDebug.

◆ GetLinkingEdge()

BallPivotingEdgePtr BallPivoting::GetLinkingEdge ( const BallPivotingVertexPtr v0,
const BallPivotingVertexPtr v1 
)
inline

Definition at line 239 of file SurfaceReconstructionBallPivoting.cpp.

References BallPivotingVertex::edges_.

◆ IsCompatible()

bool BallPivoting::IsCompatible ( const BallPivotingVertexPtr v0,
const BallPivotingVertexPtr v1,
const BallPivotingVertexPtr v2 
)
inline

◆ Run()

std::shared_ptr<ccMesh> BallPivoting::Run ( const std::vector< double > &  radii)
inline

◆ TrySeed()

bool BallPivoting::TrySeed ( BallPivotingVertexPtr v,
double  radius 
)
inline

◆ TryTriangleSeed()

bool BallPivoting::TryTriangleSeed ( const BallPivotingVertexPtr v0,
const BallPivotingVertexPtr v1,
const BallPivotingVertexPtr v2,
const std::vector< int > &  nb_indices,
double  radius,
Eigen::Vector3d &  center 
)
inline

The documentation for this class was generated from the following file: