MEPP2 Project
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
CApp Class Reference

#include <core.h>

Collaboration diagram for CApp:
Collaboration graph

Public Member Functions

 CApp ()
 
 CApp (Eigen::Matrix< float, Eigen::Dynamic, 3 > *pc, flann::Index< flann::L2< float >> *tree, float noise)
 
 CApp (Eigen::Matrix< float, Eigen::Dynamic, 3 > *pc, flann::Index< flann::L2< float >> *tree, int ref, float noise)
 
 CApp (float divFact, float limMu, float limMuPos, Eigen::Matrix< float, Eigen::Dynamic, 3 > *pc, flann::Index< flann::L2< float >> *tree, int ref, float noise)
 
 ~CApp ()
 
void setTree (flann::Index< flann::L2< float >> *t)
 
void setPc (Eigen::Matrix< float, Eigen::Dynamic, 3 > *pc)
 
void setRef (int ref)
 
void setNormal (Eigen::Vector3f norm)
 
void setPoint (Eigen::Vector3f point)
 
void setLimMu (float limMu)
 
void setNbrNeighbors (int N)
 
void setLimMuPos (float limMuPos)
 
void setDivFact (float divFact)
 
void setNoise (float noise)
 
void setParams (float divFact, float curvature)
 
Eigen::Vector3f getNormal ()
 
Eigen::Vector3f getPoint ()
 
Eigen::Matrix< float, Eigen::Dynamic, 3 > getNeighborhood ()
 
int get_N_neigh ()
 
void reinitPoint ()
 
void ComputeDist ()
 
void SearchFLANNTreeKnn (flann::Index< flann::L2< float >> *index, Eigen::Vector3f &input, std::vector< int > &indices, std::vector< float > &dists, int nn)
 
void selectNeighborsKnn (int N)
 
void selectNeighborsRadius (float r)
 
void init1 ()
 
void reinitFirst0 ()
 
void init2 ()
 
void Optimize (bool first)
 
void OptimizePos (bool first, float thresh_weigh)
 
Eigen::Vector3f getEdgeDirection (int it)
 
void evaluate (int *impact, float *moyError, float impacter_weigh)
 
void select_normal ()
 
void addSymmetricDist ()
 
bool isOnEdge ()
 
bool isSecondOption ()
 
bool isNan ()
 

Public Attributes

Eigen::Vector3f finalNormal_
 
Eigen::Vector3f finalPos_
 
Eigen::Vector3f normal
 
bool SuspectedOnEdge_
 

Private Member Functions

void ComputeWeights ()
 
float GetMaxError ()
 
void ComputeNormProjError (std::vector< float > &er_proj)
 
void orient ()
 
void actualizeMu ()
 
void init_weight ()
 
Eigen::Vector3f getThirdEigenVector (Eigen::Matrix3f &C)
 
void save_itr (int itr)
 

Private Attributes

int n_neigh_
 
float mu_
 
float noise_
 
float limMu_
 
float limMuPos_
 
float curvature_
 
float divFact_
 
float thresh_proj_
 
Eigen::Matrix< float, Eigen::Dynamic, 3 > * pointcloud_
 
flann::Index< flann::L2< float > > * tree_
 
Eigen::Matrix< float, Eigen::Dynamic, 3 > neighborhood_
 
Eigen::Matrix< float, Eigen::Dynamic, 3 > dist_
 
int ref_
 
Eigen::Vector3f pt
 
Eigen::Vector3f ptRef_
 
Eigen::Vector3f centroid_
 
Eigen::Vector3f * normalFirst0_
 
Eigen::Vector3f * normalFirst1_
 
Eigen::Vector3f * normalFirst2_
 
Eigen::Vector3f * normalSecond0_
 
Eigen::Vector3f * normalSecond1_
 
Eigen::Vector3f * normalSecond2_
 
Eigen::Vector3f * pointFirst_
 
Eigen::Vector3f * pointSecond_
 
float theta
 
float phi
 
Eigen::VectorXf weights_
 
std::vector< float > error_
 
std::vector< float > diff_error_
 
int impactFirst_
 
int impactSecond_
 
float moyErrorFirst_
 
float moyErrorSecond_
 
bool jamais_fait
 
float er_max
 
float mu_init2_
 

Detailed Description

Definition at line 65 of file core.h.

Constructor & Destructor Documentation

◆ CApp() [1/4]

CApp::CApp ( )
inline

Definition at line 67 of file core.h.

◆ CApp() [2/4]

CApp::CApp ( Eigen::Matrix< float, Eigen::Dynamic, 3 > *  pc,
flann::Index< flann::L2< float >> *  tree,
float  noise 
)
inline

Definition at line 80 of file core.h.

◆ CApp() [3/4]

CApp::CApp ( Eigen::Matrix< float, Eigen::Dynamic, 3 > *  pc,
flann::Index< flann::L2< float >> *  tree,
int  ref,
float  noise 
)
inline

Definition at line 95 of file core.h.

◆ CApp() [4/4]

CApp::CApp ( float  divFact,
float  limMu,
float  limMuPos,
Eigen::Matrix< float, Eigen::Dynamic, 3 > *  pc,
flann::Index< flann::L2< float >> *  tree,
int  ref,
float  noise 
)
inline

Definition at line 111 of file core.h.

◆ ~CApp()

CApp::~CApp ( )
inline

Definition at line 131 of file core.h.

Member Function Documentation

◆ actualizeMu()

void CApp::actualizeMu ( )
private

◆ addSymmetricDist()

void CApp::addSymmetricDist ( )

◆ ComputeDist()

void CApp::ComputeDist ( )
inline

Definition at line 105 of file core.inl.

Here is the caller graph for this function:

◆ ComputeNormProjError()

void CApp::ComputeNormProjError ( std::vector< float > &  er_proj)
private

◆ ComputeWeights()

void CApp::ComputeWeights ( )
inlineprivate

Definition at line 214 of file core.inl.

Here is the caller graph for this function:

◆ evaluate()

void CApp::evaluate ( int *  impact,
float *  moyError,
float  impacter_weigh 
)
inline

Definition at line 396 of file core.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_N_neigh()

int CApp::get_N_neigh ( )
inline

Definition at line 169 of file core.h.

◆ getEdgeDirection()

Eigen::Vector3f CApp::getEdgeDirection ( int  it)

◆ GetMaxError()

float CApp::GetMaxError ( )
inlineprivate

Definition at line 221 of file core.inl.

Here is the caller graph for this function:

◆ getNeighborhood()

Eigen::Matrix<float, Eigen::Dynamic, 3> CApp::getNeighborhood ( )
inline

Definition at line 168 of file core.h.

◆ getNormal()

Eigen::Vector3f CApp::getNormal ( )
inline

Definition at line 166 of file core.h.

◆ getPoint()

Eigen::Vector3f CApp::getPoint ( )
inline

Definition at line 167 of file core.h.

Here is the caller graph for this function:

◆ getThirdEigenVector()

Eigen::Vector3f CApp::getThirdEigenVector ( Eigen::Matrix3f &  C)
inlineprivate

Definition at line 111 of file core.inl.

Here is the caller graph for this function:

◆ init1()

void CApp::init1 ( )
inline

Definition at line 118 of file core.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init2()

void CApp::init2 ( )
inline

Definition at line 167 of file core.inl.

Here is the caller graph for this function:

◆ init_weight()

void CApp::init_weight ( )
inlineprivate

Definition at line 189 of file core.inl.

◆ isNan()

bool CApp::isNan ( )
inline

Definition at line 416 of file core.inl.

Here is the caller graph for this function:

◆ isOnEdge()

bool CApp::isOnEdge ( )
inline

Definition at line 196 of file core.inl.

Here is the caller graph for this function:

◆ isSecondOption()

bool CApp::isSecondOption ( )
inline

Definition at line 379 of file core.inl.

Here is the caller graph for this function:

◆ Optimize()

void CApp::Optimize ( bool  first)
inline

Definition at line 235 of file core.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OptimizePos()

void CApp::OptimizePos ( bool  first,
float  thresh_weigh 
)
inline

Definition at line 284 of file core.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ orient()

void CApp::orient ( )
inlineprivate

Definition at line 369 of file core.inl.

Here is the caller graph for this function:

◆ reinitFirst0()

void CApp::reinitFirst0 ( )
inline

Definition at line 161 of file core.inl.

◆ reinitPoint()

void CApp::reinitPoint ( )
inline

Definition at line 391 of file core.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_itr()

void CApp::save_itr ( int  itr)
private

◆ SearchFLANNTreeKnn()

void CApp::SearchFLANNTreeKnn ( flann::Index< flann::L2< float >> *  index,
Eigen::Vector3f &  input,
std::vector< int > &  indices,
std::vector< float > &  dists,
int  nn 
)
inline

Find the "num_closest" nearest neighbors to the query_point[0:dim-1]. Their indices are stored inside the result object.

See also
radiusSearch, findNeighbors
Note
nChecks_IGNORED is ignored but kept for compatibility with the original FLANN interface.
Returns
Number N of valid points in the result set. Only the first N entries in out_indices and out_distances_sq will be valid. Return may be less than num_closest only if the number of elements in the tree is less than num_closest.

Definition at line 63 of file core.inl.

Here is the caller graph for this function:

◆ select_normal()

void CApp::select_normal ( )
inline

Definition at line 421 of file core.inl.

Here is the caller graph for this function:

◆ selectNeighborsKnn()

void CApp::selectNeighborsKnn ( int  N)
inline

Definition at line 28 of file core.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ selectNeighborsRadius()

void CApp::selectNeighborsRadius ( float  r)

◆ setDivFact()

void CApp::setDivFact ( float  divFact)
inline

Definition at line 159 of file core.h.

◆ setLimMu()

void CApp::setLimMu ( float  limMu)
inline

Definition at line 156 of file core.h.

◆ setLimMuPos()

void CApp::setLimMuPos ( float  limMuPos)
inline

Definition at line 158 of file core.h.

◆ setNbrNeighbors()

void CApp::setNbrNeighbors ( int  N)
inline

Definition at line 157 of file core.h.

◆ setNoise()

void CApp::setNoise ( float  noise)
inline

Definition at line 160 of file core.h.

◆ setNormal()

void CApp::setNormal ( Eigen::Vector3f  norm)
inline

Definition at line 154 of file core.h.

◆ setParams()

void CApp::setParams ( float  divFact,
float  curvature 
)
inline

Definition at line 161 of file core.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPc()

void CApp::setPc ( Eigen::Matrix< float, Eigen::Dynamic, 3 > *  pc)
inline

Definition at line 152 of file core.h.

◆ setPoint()

void CApp::setPoint ( Eigen::Vector3f  point)
inline

Definition at line 409 of file core.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setRef()

void CApp::setRef ( int  ref)
inline

Definition at line 384 of file core.inl.

◆ setTree()

void CApp::setTree ( flann::Index< flann::L2< float >> *  t)
inline

Definition at line 151 of file core.h.

Member Data Documentation

◆ centroid_

Eigen::Vector3f CApp::centroid_
private

Definition at line 219 of file core.h.

◆ curvature_

float CApp::curvature_
private

Definition at line 209 of file core.h.

◆ diff_error_

std::vector<float> CApp::diff_error_
private

Definition at line 232 of file core.h.

◆ dist_

Eigen::Matrix<float, Eigen::Dynamic, 3> CApp::dist_
private

Definition at line 215 of file core.h.

◆ divFact_

float CApp::divFact_
private

Definition at line 210 of file core.h.

◆ er_max

float CApp::er_max
private

Definition at line 246 of file core.h.

◆ error_

std::vector<float> CApp::error_
private

Definition at line 231 of file core.h.

◆ finalNormal_

Eigen::Vector3f CApp::finalNormal_

Definition at line 196 of file core.h.

◆ finalPos_

Eigen::Vector3f CApp::finalPos_

Definition at line 197 of file core.h.

◆ impactFirst_

int CApp::impactFirst_
private

Definition at line 241 of file core.h.

◆ impactSecond_

int CApp::impactSecond_
private

Definition at line 242 of file core.h.

◆ jamais_fait

bool CApp::jamais_fait
private

Definition at line 245 of file core.h.

◆ limMu_

float CApp::limMu_
private

Definition at line 207 of file core.h.

◆ limMuPos_

float CApp::limMuPos_
private

Definition at line 208 of file core.h.

◆ moyErrorFirst_

float CApp::moyErrorFirst_
private

Definition at line 243 of file core.h.

◆ moyErrorSecond_

float CApp::moyErrorSecond_
private

Definition at line 244 of file core.h.

◆ mu_

float CApp::mu_
private

Definition at line 205 of file core.h.

◆ mu_init2_

float CApp::mu_init2_
private

Definition at line 247 of file core.h.

◆ n_neigh_

int CApp::n_neigh_
private

Definition at line 204 of file core.h.

◆ neighborhood_

Eigen::Matrix<float, Eigen::Dynamic, 3> CApp::neighborhood_
private

Definition at line 214 of file core.h.

◆ noise_

float CApp::noise_
private

Definition at line 206 of file core.h.

◆ normal

Eigen::Vector3f CApp::normal

Definition at line 199 of file core.h.

◆ normalFirst0_

Eigen::Vector3f* CApp::normalFirst0_
private

Definition at line 220 of file core.h.

◆ normalFirst1_

Eigen::Vector3f* CApp::normalFirst1_
private

Definition at line 221 of file core.h.

◆ normalFirst2_

Eigen::Vector3f* CApp::normalFirst2_
private

Definition at line 222 of file core.h.

◆ normalSecond0_

Eigen::Vector3f* CApp::normalSecond0_
private

Definition at line 223 of file core.h.

◆ normalSecond1_

Eigen::Vector3f* CApp::normalSecond1_
private

Definition at line 224 of file core.h.

◆ normalSecond2_

Eigen::Vector3f* CApp::normalSecond2_
private

Definition at line 225 of file core.h.

◆ phi

float CApp::phi
private

Definition at line 229 of file core.h.

◆ pointcloud_

Eigen::Matrix<float, Eigen::Dynamic, 3>* CApp::pointcloud_
private

Definition at line 212 of file core.h.

◆ pointFirst_

Eigen::Vector3f* CApp::pointFirst_
private

Definition at line 226 of file core.h.

◆ pointSecond_

Eigen::Vector3f* CApp::pointSecond_
private

Definition at line 227 of file core.h.

◆ pt

Eigen::Vector3f CApp::pt
private

Definition at line 217 of file core.h.

◆ ptRef_

Eigen::Vector3f CApp::ptRef_
private

Definition at line 218 of file core.h.

◆ ref_

int CApp::ref_
private

Definition at line 216 of file core.h.

◆ SuspectedOnEdge_

bool CApp::SuspectedOnEdge_

Definition at line 200 of file core.h.

◆ theta

float CApp::theta
private

Definition at line 228 of file core.h.

◆ thresh_proj_

float CApp::thresh_proj_
private

Definition at line 211 of file core.h.

◆ tree_

flann::Index<flann::L2<float> >* CApp::tree_
private

Definition at line 213 of file core.h.

◆ weights_

Eigen::VectorXf CApp::weights_
private

Definition at line 230 of file core.h.


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