#include <RichModel.h>
Classes | |
struct | CEdge |
Public Member Functions | |
double | AngleSum (int vertIndex) const |
CRichModel (const string &filename) | |
CRichModel (const vector< CPoint3D > &verts, const vector< CBaseModel::CFace > &faces) | |
double | DistanceToLeftVert (int edgeIndex, const pair< double, double > &coord) const |
double | DistanceToOppositeAngle (int edgeIndex, const pair< double, double > &coord) const |
double | DistanceToRightVert (int edgeIndex, const pair< double, double > &coord) const |
const CEdge & | Edge (int edgeIndex) const |
void | FinishChangingEdgeLengths () |
CPoint3D | GetBarycentricCoord (CPoint3D pt, int faceID) const |
int | GetEdgeIndexFromTwoVertices (int leftVert, int rightVert) const |
double | GetMaxEdgeLength () const |
pair< double, double > | GetNew2DCoordinatesByReversingCurrentEdge (int edgeIndex, const pair< double, double > &input2DCoordinates) const |
pair< double, double > | GetNew2DCoordinatesByRotatingAroundLeftChildEdge (int edgeIndex, const pair< double, double > &input2DCoordinates) const |
pair< double, double > | GetNew2DCoordinatesByRotatingAroundRightChildEdge (int edgeIndex, const pair< double, double > &input2DCoordinates) const |
int | GetNumOfBoundries () const |
int | GetNumOfComponents () const |
int | GetNumOfEdges () const |
int | GetNumOfGenera () const |
int | GetNumOfIsolated () const |
int | GetNumOfTotalUndirectedEdges () const |
int | GetNumOfValidDirectedEdges () const |
int | GetSubindexToVert (int root, int neigh) const |
pair< double, double > | GetTwoSplitAngles (int root, EdgePoint pt1, EdgePoint pt2) const |
int | IntersectQuery (int faceID, const pair< EdgePoint, EdgePoint > &seg1, const pair< EdgePoint, EdgePoint > &seg2, EdgePoint &intersection) const |
bool | isBoundaryVert (int index) const |
bool | IsClosedModel () const |
bool | IsExtremeEdge (int edgeIndex) const |
bool | IsStartEdge (int edgeIndex) const |
bool | IsStronglyConvexVert (int index) const |
bool | IsWeaklyConvexVert (int index) const |
void | LoadModel () |
const vector< pair< int, double > > & | Neigh (int root) const |
void | PreprocessBaseModel () |
void | PrintInfo (ostream &out) const |
double | ProportionOnEdgeByImage (int edgeIndex, const pair< double, double > &coord) const |
double | ProportionOnEdgeByImage (int edgeIndex, double x1, double y1, double x2, double y2) const |
double | ProportionOnLeftEdgeByImage (int edgeIndex, const pair< double, double > &coord, double proportion) const |
double | ProportionOnRightEdgeByImage (int edgeIndex, const pair< double, double > &coord, double proportion) const |
void | SaveIsolineToObj (const vector< EdgePoint > &isoline, const string &filename) const |
void | SavePathToObj (const vector< EdgePoint > &pl, const string &filename) const |
void | SetEdgeLength (int leftVert, int rightVert, double newLength) |
void | SplitBasedOnScalarField (const vector< double > &scalarField, double val, const string &fileWithLargerScalars, const string &fileWithSmallerScalars) |
int | SplitEdge (const EdgePoint &ep) |
![]() | |
CBaseModel (const string &filename) | |
const CFace & | Face (int faceIndex) const |
const vector< CBaseModel::CFace > & | GetFaces () const |
string | GetFileFullName () const |
string | GetFileShortName () const |
string | GetFileShortNameWithoutExtension () const |
int | GetNumOfFaces () const |
int | GetNumOfVerts () const |
double | GetScale () const |
CPoint3D | GetShiftVertex (int indexOfVert) const |
int | GetVertexID (const CPoint3D &pt) const |
const CPoint3D & | Normal (int vertIndex) const |
void | SaveMFile (const string &filename) const |
void | SaveObjFile (const string &filename) const |
void | SaveOffFile (const string &filename) const |
void | SavePamametrizationObjFile (const vector< pair< double, double >> &uvs, const string &filename) const |
void | SaveScalarFieldObjFile (const vector< double > &vals, const string &filename) const |
void | SaveScalarFieldObjFile (const vector< double > &vals, double maxV, const string &filename) const |
void | SaveScalarFieldObjFile (const vector< double > &vals, const string &comments, const string &filename) const |
void | SetFaces (const vector< CBaseModel::CFace > &faces) |
const CPoint3D & | Vert (int vertIndex) const |
Protected Member Functions | |
void | CollectAndArrangeNeighs () |
void | ComputeAnglesAroundVerts () |
void | ComputeNumOfComponents () |
void | ComputeNumOfHoles () |
void | ComputePlanarCoordsOfIncidentVertForEdges () |
void | CreateEdgesFromVertsAndFaces () |
![]() | |
void | ComputeScaleAndNormals () |
void | ReadFile (const string &filename) |
void | ReadMFile (const string &filename) |
void | ReadObjFile (const string &filename) |
void | ReadOffFile (const string &filename) |
Protected Attributes | |
vector< CEdge > | m_Edges |
vector< pair< bool, bool > > | m_FlagsForCheckingConvexVerts |
double | m_maxEdgeLength |
int | m_nBoundries |
int | m_nComponents |
vector< vector< pair< int, double > > > | m_NeighsAndAngles |
int | m_nIsolatedVerts |
set< int > | m_UselessEdges |
![]() | |
string | m_filename |
vector< CPoint3D > | m_NormalsToVerts |
double | m_scale |
set< int > | m_UselessFaces |
Additional Inherited Members | |
![]() | |
static string | GetComments (const char *filename) |
static vector< double > | GetScalarField (string filename) |
![]() | |
vector< CFace > | m_Faces |
vector< CPoint3D > | m_Verts |
Definition at line 16 of file RichModel.h.
CRichModel::CRichModel | ( | const string & | filename | ) |
Definition at line 14 of file RichModel.cpp.
CRichModel::CRichModel | ( | const vector< CPoint3D > & | verts, |
const vector< CBaseModel::CFace > & | faces | ||
) |
Definition at line 18 of file RichModel.cpp.
double CRichModel::AngleSum | ( | int | vertIndex | ) | const |
Definition at line 399 of file RichModel.cpp.
|
protected |
Definition at line 84 of file RichModel.cpp.
|
protected |
Definition at line 148 of file RichModel.cpp.
|
protected |
Definition at line 333 of file RichModel.cpp.
|
protected |
Definition at line 303 of file RichModel.cpp.
|
protected |
Definition at line 184 of file RichModel.cpp.
|
protected |
Definition at line 25 of file RichModel.cpp.
double CRichModel::DistanceToLeftVert | ( | int | edgeIndex, |
const pair< double, double > & | coord | ||
) | const |
Definition at line 742 of file RichModel.cpp.
double CRichModel::DistanceToOppositeAngle | ( | int | edgeIndex, |
const pair< double, double > & | coord | ||
) | const |
Definition at line 735 of file RichModel.cpp.
double CRichModel::DistanceToRightVert | ( | int | edgeIndex, |
const pair< double, double > & | coord | ||
) | const |
Definition at line 749 of file RichModel.cpp.
const CRichModel::CEdge & CRichModel::Edge | ( | int | edgeIndex | ) | const |
Definition at line 669 of file RichModel.cpp.
void CRichModel::FinishChangingEdgeLengths | ( | ) |
Definition at line 229 of file RichModel.cpp.
Definition at line 1113 of file RichModel.cpp.
int CRichModel::GetEdgeIndexFromTwoVertices | ( | int | leftVert, |
int | rightVert | ||
) | const |
Definition at line 756 of file RichModel.cpp.
double CRichModel::GetMaxEdgeLength | ( | ) | const |
Definition at line 1097 of file RichModel.cpp.
pair< double, double > CRichModel::GetNew2DCoordinatesByReversingCurrentEdge | ( | int | edgeIndex, |
const pair< double, double > & | input2DCoordinates | ||
) | const |
Definition at line 720 of file RichModel.cpp.
pair< double, double > CRichModel::GetNew2DCoordinatesByRotatingAroundLeftChildEdge | ( | int | edgeIndex, |
const pair< double, double > & | input2DCoordinates | ||
) | const |
Definition at line 706 of file RichModel.cpp.
pair< double, double > CRichModel::GetNew2DCoordinatesByRotatingAroundRightChildEdge | ( | int | edgeIndex, |
const pair< double, double > & | input2DCoordinates | ||
) | const |
Definition at line 712 of file RichModel.cpp.
int CRichModel::GetNumOfBoundries | ( | ) | const |
Definition at line 624 of file RichModel.cpp.
int CRichModel::GetNumOfComponents | ( | ) | const |
Definition at line 619 of file RichModel.cpp.
int CRichModel::GetNumOfEdges | ( | ) | const |
Definition at line 639 of file RichModel.cpp.
int CRichModel::GetNumOfGenera | ( | ) | const |
Definition at line 614 of file RichModel.cpp.
int CRichModel::GetNumOfIsolated | ( | ) | const |
Definition at line 634 of file RichModel.cpp.
int CRichModel::GetNumOfTotalUndirectedEdges | ( | ) | const |
Definition at line 609 of file RichModel.cpp.
int CRichModel::GetNumOfValidDirectedEdges | ( | ) | const |
Definition at line 604 of file RichModel.cpp.
int CRichModel::GetSubindexToVert | ( | int | root, |
int | neigh | ||
) | const |
Definition at line 725 of file RichModel.cpp.
pair< double, double > CRichModel::GetTwoSplitAngles | ( | int | root, |
EdgePoint | pt1, | ||
EdgePoint | pt2 | ||
) | const |
Definition at line 409 of file RichModel.cpp.
int CRichModel::IntersectQuery | ( | int | faceID, |
const pair< EdgePoint, EdgePoint > & | seg1, | ||
const pair< EdgePoint, EdgePoint > & | seg2, | ||
EdgePoint & | intersection | ||
) | const |
Definition at line 1067 of file RichModel.cpp.
bool CRichModel::isBoundaryVert | ( | int | index | ) | const |
Definition at line 644 of file RichModel.cpp.
bool CRichModel::IsClosedModel | ( | ) | const |
Definition at line 629 of file RichModel.cpp.
bool CRichModel::IsExtremeEdge | ( | int | edgeIndex | ) | const |
Definition at line 659 of file RichModel.cpp.
bool CRichModel::IsStartEdge | ( | int | edgeIndex | ) | const |
Definition at line 664 of file RichModel.cpp.
bool CRichModel::IsStronglyConvexVert | ( | int | index | ) | const |
Definition at line 649 of file RichModel.cpp.
bool CRichModel::IsWeaklyConvexVert | ( | int | index | ) | const |
Definition at line 654 of file RichModel.cpp.
|
virtual |
Reimplemented from CBaseModel.
Definition at line 276 of file RichModel.cpp.
const vector< pair< int, double > > & CRichModel::Neigh | ( | int | root | ) | const |
Definition at line 674 of file RichModel.cpp.
void CRichModel::PreprocessBaseModel | ( | ) |
Definition at line 246 of file RichModel.cpp.
|
virtual |
Reimplemented from CBaseModel.
Definition at line 371 of file RichModel.cpp.
double CRichModel::ProportionOnEdgeByImage | ( | int | edgeIndex, |
const pair< double, double > & | coord | ||
) | const |
Definition at line 679 of file RichModel.cpp.
double CRichModel::ProportionOnEdgeByImage | ( | int | edgeIndex, |
double | x1, | ||
double | y1, | ||
double | x2, | ||
double | y2 | ||
) | const |
Definition at line 685 of file RichModel.cpp.
double CRichModel::ProportionOnLeftEdgeByImage | ( | int | edgeIndex, |
const pair< double, double > & | coord, | ||
double | proportion | ||
) | const |
Definition at line 691 of file RichModel.cpp.
double CRichModel::ProportionOnRightEdgeByImage | ( | int | edgeIndex, |
const pair< double, double > & | coord, | ||
double | proportion | ||
) | const |
Definition at line 698 of file RichModel.cpp.
void CRichModel::SaveIsolineToObj | ( | const vector< EdgePoint > & | isoline, |
const string & | filename | ||
) | const |
Definition at line 972 of file RichModel.cpp.
void CRichModel::SavePathToObj | ( | const vector< EdgePoint > & | pl, |
const string & | filename | ||
) | const |
Definition at line 926 of file RichModel.cpp.
void CRichModel::SetEdgeLength | ( | int | leftVert, |
int | rightVert, | ||
double | newLength | ||
) |
Definition at line 390 of file RichModel.cpp.
void CRichModel::SplitBasedOnScalarField | ( | const vector< double > & | scalarField, |
double | val, | ||
const string & | fileWithLargerScalars, | ||
const string & | fileWithSmallerScalars | ||
) |
Definition at line 992 of file RichModel.cpp.
int CRichModel::SplitEdge | ( | const EdgePoint & | ep | ) |
Definition at line 763 of file RichModel.cpp.
|
protected |
Definition at line 110 of file RichModel.h.
|
protected |
Definition at line 114 of file RichModel.h.
|
protected |
Definition at line 109 of file RichModel.h.
|
protected |
Definition at line 106 of file RichModel.h.
|
protected |
Definition at line 108 of file RichModel.h.
|
protected |
Definition at line 112 of file RichModel.h.
|
protected |
Definition at line 107 of file RichModel.h.
|
protected |
Definition at line 111 of file RichModel.h.