vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
APSpacePartitioning::PointShell_Object_Data_LOD_Builder Class Reference

#include <PointShell_Object_Data_LOD_Builder.h>

Inheritance diagram for APSpacePartitioning::PointShell_Object_Data_LOD_Builder:
APSpacePartitioning::PointShell_Object_Data_Geometry

Public Member Functions

 PointShell_Object_Data_LOD_Builder ()
 
 ~PointShell_Object_Data_LOD_Builder ()
 
void Clear ()
 
string getStatusResult ()
 
int getZeroLevelSize ()
 
int getPolygonsCount ()
 
void setVerticesCount (int count)
 
void setPolygonsCount (int count)
 
void setEdgesCount (int count)
 
void setParameters (float lodEI, float lodEDI, float lodVI)
 
void setMovableVertices (bool value)
 
void setLevelZeroSize (int size, float percentage)
 
void setFileName (string name)
 
void setMaxLevels (int levels)
 
void setMaxChildrens (int maxChild)
 
void setMinimumVertices (int minimum)
 
void writeVertex (int seqnum, osg::Vec3f pos, osg::Vec3f norm)
 
void writeVertex (int seqnum, osg::Vec3f pos)
 
void writeEdge (int seqnum, int vertexPos1, int vertexPos2)
 
void writeEdge (int seqnum, int vertexPos1, int vertexPos2, int polygon1, int polygon2)
 
void writePolygon (int seqnum, int v1, int v2, int v3)
 
void printOutQueue ()
 
void printOutStatus ()
 
void printOutVerbouseStatus ()
 
void computeRadiusOfBoundingSpheres ()
 
void mergeLevels ()
 
void finishStructureBuild ()
 
int subdivideMesh ()
 
int buildReductionLevelStructure ()
 
int getMaxLvl ()
 
vector< VLODgetLvlVertices (int lvl)
 
vector< VLODgetVertices (int seqNum)
 
vector< VLODgetRoots ()
 
vector
< PointShell_Object_Data_Geometry::V
getVertices ()
 
vector
< PointShell_Object_Data_Geometry::E
getEdges ()
 
vector
< PointShell_Object_Data_Geometry::P
getPolygons ()
 
PointShell_Object_Data_Geometry::V getVertex (int seqnum)
 
- Public Member Functions inherited from APSpacePartitioning::PointShell_Object_Data_Geometry
 PointShell_Object_Data_Geometry ()
 
virtual ~PointShell_Object_Data_Geometry ()
 

Protected Member Functions

void handleEdges (int polygon)
 
int_3 getEdges (int polygon)
 
void calculateEdgesLength ()
 
void calculateEdgeLength (int edge)
 
void calculateEdgesImportance ()
 
void calculateEdgeImportance (int seqnum)
 
void calculateEdgesCost ()
 
void calculateEdgeCost (int seqnum)
 
void calculateNormalOfPolygons ()
 
void calculateNormalOfPolygon (int seqnum)
 
void calculateVerticesNormalAndImporatance ()
 
void calculateVertexNormalAndImportance (int seqnum)
 
void calculateNewVertexPosition (int vertexToSet, int vt[3])
 
void cleanVertexEdges ()
 
void removeRequiredEdges (int edge)
 
void setVertexVisible (int vertex, bool visibility)
 
void setPolygonVisible (int polygon, bool visibility)
 
void setEdgeVisible (int edge, bool visibility)
 
void addRequiredEdge (int edge, int reqEdge)
 
void setValidEdges ()
 
void setValidEdge (int edge)
 
void setValidVertices ()
 
void setValidVertex (int vertex, bool value)
 
float getAngle (osg::Vec3f vec1, osg::Vec3f vec2)
 
list< int > getSame (int *a, int *b)
 
bool equalArrays (int a1[], int a2[], int size)
 
bool legalToRemoveEdge (int edge)
 
bool polygonHaveVertex (int polygon, int vertex)
 
bool polygonHaveVertices (int polygon, int v1, int v2)
 
bool have2Polygons2OrMoreVetrticesSame (int p1, int p2)
 
bool edgesEqualByVertices (int e1, int e2)
 
int getSameEdge (int p1, int p2)
 
list< int > getSameEdges (int p1, int p2)
 
bool polygonsEqualsByVertices (int p1, int p2)
 
int getThirdVertex (int polygon, int v1, int v2)
 
pair< int, int > getOkAndChangeEdges (int polygon, int v1, int edge)
 
void computeVertexLevels ()
 
void addVerticesLeafsAndChilds ()
 
float edgeCost (int edge)
 
float edgeLength (int edge)
 
float edgeImportance (int edge)
 
float vertexImportance (int vertex)
 
void printOutList (string log, list< int > edgesList)
 
void printOutEdge (string log, int edge)
 
void printOutVertex (string log, int vertex)
 
void printOutPolygon (string log, int polygon)
 
string intToStr (int number)
 
string floatToTimeString (float time)
 
void buildQueue (bool verbouse)
 
int reduceFront (int)
 

Protected Attributes

int specialCase
 
bool moveVerticesPosition
 
bool refillQueue
 
string filename
 
int zeroLevelSize
 
int maxLevels
 
int maxChildrens
 
int minVertices
 
float maxDistance
 
float lodEdgeImporatnce
 
float lodEdgeDistanceImporatnce
 
float lodVertexImporatnce
 
VLODvertices
 
int iVerticesCount
 
ELODedges
 
int iEdgesCount
 
PLODpolygons
 
int iPolygonsCount
 
priority_queue< pair< float,
int >, vector< pair< float,
int > >, mycomparisonMinMax
test_Queue
 
priority_queue< pair< float,
int >, vector< pair< float,
int > >, mycomparisonMaxMin
test_Subdivision_Queue
 
vector< int > treeRoots
 

Static Protected Attributes

static const bool bDebug = false
 

Constructor & Destructor Documentation

APSpacePartitioning::PointShell_Object_Data_LOD_Builder::PointShell_Object_Data_LOD_Builder ( )
APSpacePartitioning::PointShell_Object_Data_LOD_Builder::~PointShell_Object_Data_LOD_Builder ( )

Member Function Documentation

void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::addRequiredEdge ( int  edge,
int  reqEdge 
)
inlineprotected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::addVerticesLeafsAndChilds ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::buildQueue ( bool  verbouse)
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::buildReductionLevelStructure ( )
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateEdgeCost ( int  seqnum)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateEdgeImportance ( int  seqnum)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateEdgeLength ( int  edge)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateEdgesCost ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateEdgesImportance ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateEdgesLength ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateNewVertexPosition ( int  vertexToSet,
int  vt[3] 
)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateNormalOfPolygon ( int  seqnum)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateNormalOfPolygons ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateVertexNormalAndImportance ( int  seqnum)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::calculateVerticesNormalAndImporatance ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::cleanVertexEdges ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::Clear ( )
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::computeRadiusOfBoundingSpheres ( )
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::computeVertexLevels ( )
protected
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::edgeCost ( int  edge)
inlineprotected
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::edgeImportance ( int  edge)
inlineprotected
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::edgeLength ( int  edge)
inlineprotected
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::edgesEqualByVertices ( int  e1,
int  e2 
)
inlineprotected
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::equalArrays ( int  a1[],
int  a2[],
int  size 
)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::finishStructureBuild ( )
string APSpacePartitioning::PointShell_Object_Data_LOD_Builder::floatToTimeString ( float  time)
protected
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getAngle ( osg::Vec3f  vec1,
osg::Vec3f  vec2 
)
inlineprotected
vector< PointShell_Object_Data_Geometry::E > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getEdges ( )
virtual
int_3 APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getEdges ( int  polygon)
protected
vector< VLOD > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getLvlVertices ( int  lvl)
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getMaxLvl ( )
pair< int, int > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getOkAndChangeEdges ( int  polygon,
int  v1,
int  edge 
)
inlineprotected
vector< PointShell_Object_Data_Geometry::P > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getPolygons ( )
virtual
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getPolygonsCount ( )
inline
vector< VLOD > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getRoots ( )
list< int > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getSame ( int *  a,
int *  b 
)
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getSameEdge ( int  p1,
int  p2 
)
inlineprotected
list< int > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getSameEdges ( int  p1,
int  p2 
)
protected
string APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getStatusResult ( )
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getThirdVertex ( int  polygon,
int  v1,
int  v2 
)
inlineprotected
PointShell_Object_Data_Geometry::V APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getVertex ( int  seqnum)
virtual
vector< VLOD > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getVertices ( int  seqNum)
vector< PointShell_Object_Data_Geometry::V > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getVertices ( )
virtual
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::getZeroLevelSize ( )
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::handleEdges ( int  polygon)
protected
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::have2Polygons2OrMoreVetrticesSame ( int  p1,
int  p2 
)
protected
string APSpacePartitioning::PointShell_Object_Data_LOD_Builder::intToStr ( int  number)
protected
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::legalToRemoveEdge ( int  edge)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::mergeLevels ( )
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::polygonHaveVertex ( int  polygon,
int  vertex 
)
inlineprotected
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::polygonHaveVertices ( int  polygon,
int  v1,
int  v2 
)
inlineprotected
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::polygonsEqualsByVertices ( int  p1,
int  p2 
)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::printOutEdge ( string  log,
int  edge 
)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::printOutList ( string  log,
list< int >  edgesList 
)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::printOutPolygon ( string  log,
int  polygon 
)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::printOutQueue ( )
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::printOutStatus ( )
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::printOutVerbouseStatus ( )
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::printOutVertex ( string  log,
int  vertex 
)
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::reduceFront ( int  reductions)
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::removeRequiredEdges ( int  edge)
inlineprotected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setEdgesCount ( int  count)
virtual
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setEdgeVisible ( int  edge,
bool  visibility 
)
inlineprotected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setFileName ( string  name)
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setLevelZeroSize ( int  size,
float  percentage 
)
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setMaxChildrens ( int  maxChild)
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setMaxLevels ( int  levels)
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setMinimumVertices ( int  minimum)
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setMovableVertices ( bool  value)
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setParameters ( float  lodEI,
float  lodEDI,
float  lodVI 
)
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setPolygonsCount ( int  count)
virtual
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setPolygonVisible ( int  polygon,
bool  visibility 
)
inlineprotected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setValidEdge ( int  edge)
inlineprotected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setValidEdges ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setValidVertex ( int  vertex,
bool  value 
)
inlineprotected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setValidVertices ( )
protected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setVertexVisible ( int  vertex,
bool  visibility 
)
inlineprotected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::setVerticesCount ( int  count)
virtual
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::subdivideMesh ( )
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::vertexImportance ( int  vertex)
inlineprotected
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::writeEdge ( int  seqnum,
int  vertexPos1,
int  vertexPos2 
)
virtual
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::writeEdge ( int  seqnum,
int  vertexPos1,
int  vertexPos2,
int  polygon1,
int  polygon2 
)
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::writePolygon ( int  seqnum,
int  v1,
int  v2,
int  v3 
)
virtual
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::writeVertex ( int  seqnum,
osg::Vec3f  pos,
osg::Vec3f  norm 
)
virtual
void APSpacePartitioning::PointShell_Object_Data_LOD_Builder::writeVertex ( int  seqnum,
osg::Vec3f  pos 
)
virtual

Member Data Documentation

const bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::bDebug = false
staticprotected
ELOD* APSpacePartitioning::PointShell_Object_Data_LOD_Builder::edges
protected
string APSpacePartitioning::PointShell_Object_Data_LOD_Builder::filename
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::iEdgesCount
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::iPolygonsCount
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::iVerticesCount
protected
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::lodEdgeDistanceImporatnce
protected
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::lodEdgeImporatnce
protected
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::lodVertexImporatnce
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::maxChildrens
protected
float APSpacePartitioning::PointShell_Object_Data_LOD_Builder::maxDistance
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::maxLevels
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::minVertices
protected
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::moveVerticesPosition
protected
PLOD* APSpacePartitioning::PointShell_Object_Data_LOD_Builder::polygons
protected
bool APSpacePartitioning::PointShell_Object_Data_LOD_Builder::refillQueue
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::specialCase
protected
priority_queue< pair<float,int>, vector<pair<float,int> >, mycomparisonMinMax > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::test_Queue
protected
priority_queue< pair<float,int>, vector<pair<float,int> >, mycomparisonMaxMin > APSpacePartitioning::PointShell_Object_Data_LOD_Builder::test_Subdivision_Queue
protected
vector<int> APSpacePartitioning::PointShell_Object_Data_LOD_Builder::treeRoots
protected
VLOD* APSpacePartitioning::PointShell_Object_Data_LOD_Builder::vertices
protected
int APSpacePartitioning::PointShell_Object_Data_LOD_Builder::zeroLevelSize
protected

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