#include <symmetry.h>
Public Member Functions | |
ExtrinsicPlaneSymmetry (TriMeshType &_tri_mesh) | |
void | GetPlanes (std::vector< vcg::Plane3< ScalarType > > &Planes, int Num) |
void | Init (bool OnlyBorder=false, int SubDirections=4, int NumberBestPlanes=16) |
Private Types | |
typedef TriMeshType::CoordType | CoordType |
typedef TriMeshType::FaceType | FaceType |
typedef TriMeshType::ScalarType | ScalarType |
typedef TriMeshType::VertexType | VertexType |
Private Member Functions | |
int | Bucket (const vcg::Plane3< ScalarType > &Pl) |
void | Elect (CoordType p0, CoordType p1) |
vcg::Plane3< ScalarType > | GetBasePlane (int &Index) |
vcg::Plane3< ScalarType > | GetInterpolatedPlane (int &Index) |
void | InitSymmetricPlanes (const int SubN=4) |
Private Attributes | |
CoordType | AlignZeroTr |
vcg::GridStaticPtr< FaceType, ScalarType > | GridSph |
ScalarType | MaxRadius |
ScalarType | RadiusInterval |
int | radiusSph |
std::vector< std::pair < ScalarType, int > > | SortedPlanes |
TriMeshType * | sphere |
std::vector< vcg::Plane3 < ScalarType > > | SymmetricPlanes |
TriMeshType & | tri_mesh |
std::vector< ScalarType > | Votes |
std::vector< std::vector < std::pair< CoordType, CoordType > > > | VotingPos |
std::vector< std::vector < ScalarType > > | Weight |
Definition at line 18 of file symmetry.h.
typedef TriMeshType::CoordType vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::CoordType [private] |
Definition at line 22 of file symmetry.h.
typedef TriMeshType::FaceType vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::FaceType [private] |
Definition at line 21 of file symmetry.h.
typedef TriMeshType::ScalarType vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::ScalarType [private] |
Definition at line 23 of file symmetry.h.
typedef TriMeshType::VertexType vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::VertexType [private] |
Definition at line 20 of file symmetry.h.
vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::ExtrinsicPlaneSymmetry | ( | TriMeshType & | _tri_mesh | ) | [inline] |
Definition at line 243 of file symmetry.h.
int vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::Bucket | ( | const vcg::Plane3< ScalarType > & | Pl | ) | [inline, private] |
get the offset interval
then get the closest face
compose the final index
Definition at line 65 of file symmetry.h.
void vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::Elect | ( | CoordType | p0, |
CoordType | p1 | ||
) | [inline, private] |
Definition at line 86 of file symmetry.h.
vcg::Plane3<ScalarType> vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::GetBasePlane | ( | int & | Index | ) | [inline, private] |
get offset value
Definition at line 145 of file symmetry.h.
vcg::Plane3<ScalarType> vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::GetInterpolatedPlane | ( | int & | Index | ) | [inline, private] |
then fit the plane
Definition at line 110 of file symmetry.h.
void vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::GetPlanes | ( | std::vector< vcg::Plane3< ScalarType > > & | Planes, |
int | Num | ||
) | [inline] |
Definition at line 178 of file symmetry.h.
void vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::Init | ( | bool | OnlyBorder = false , |
int | SubDirections = 4 , |
||
int | NumberBestPlanes = 16 |
||
) | [inline] |
initialize the mesh
initialize grid
then get radius division steps
and finally allocate space for votes
then count votes
Definition at line 186 of file symmetry.h.
void vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::InitSymmetricPlanes | ( | const int | SubN = 4 | ) | [inline, private] |
Definition at line 162 of file symmetry.h.
CoordType vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::AlignZeroTr [private] |
Definition at line 44 of file symmetry.h.
vcg::GridStaticPtr<FaceType,ScalarType> vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::GridSph [private] |
Definition at line 56 of file symmetry.h.
ScalarType vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::MaxRadius [private] |
Definition at line 59 of file symmetry.h.
ScalarType vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::RadiusInterval [private] |
Definition at line 58 of file symmetry.h.
int vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::radiusSph [private] |
Definition at line 60 of file symmetry.h.
std::vector<std::pair<ScalarType,int> > vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::SortedPlanes [private] |
Definition at line 62 of file symmetry.h.
TriMeshType* vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::sphere [private] |
Definition at line 54 of file symmetry.h.
std::vector<vcg::Plane3<ScalarType> > vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::SymmetricPlanes [private] |
Definition at line 63 of file symmetry.h.
TriMeshType& vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::tri_mesh [private] |
Definition at line 42 of file symmetry.h.
std::vector<ScalarType> vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::Votes [private] |
Definition at line 50 of file symmetry.h.
std::vector<std::vector<std::pair<CoordType,CoordType> > > vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::VotingPos [private] |
Definition at line 48 of file symmetry.h.
std::vector<std::vector< ScalarType > > vcg::tri::ExtrinsicPlaneSymmetry< TriMeshType >::Weight [private] |
Definition at line 46 of file symmetry.h.