Todo List

Class Boxtree

Class col::BoxtreePrecomp

Class col::Callback

Member col::Callback::Callback (osg::NodePtr obj1, osg::NodePtr obj2, bool always=false, bool all_polygons_in=false, LevelOfDetectionE level_of_detection=LEVEL_EXACT)
always flag verarbeiten.

Class ColConvexHull

Member col::CollisionPipeline::CollisionPipeline (const osg::Char8 *thread_name=NULL, unsigned int thread_id=0)

Member col::CollisionPipeline::check (unsigned int *num_moved=NULL)
Static Variablen als Instanzvariablen der ColPipeline machen, wenn diese Funktionen hier in die Klasse ColPipeline gewandert sind. (S. Kommentar ganz oben.)

Member col::CollisionPipeline::runConcurrently (char *thread_name=NULL)
Eigener Aspect. Sync mit anderen Threads. Gesynct werden muss eigtl. nur, wenn sich etwas an den Punkten oder Polygonen geaendert hat. Was ist, wenn Objekte geloescht wurden?

Class col::ColObj
Was man noch tun muss ..

Member col::ColObj::ColObj (osg::GeometryPtr &geom, osg::NodePtr &node, bool flexible, bool stationary, bool compute_hull, AlgoE algo, Grid *grid, bool show_hull=false, char *name=NULL)
Parameter m_geom ist ueberfluessig.

Class col::ColPair
Was man noch tun muss ..

Class col::Data

Member col::Data::Data (const osg::NodePtr &node1, const osg::NodePtr &node2)

Class col::Dop

Member col::Dop::Dop (const Pnt3f &pnt)
Use OSG's dotprod(vec,pnt) when available.

Class col::DopNode
Kann nur Dreiecke handeln! (siehe nvertices im header file!)

Member col::DopNode::check_down (const DopNodeList &other, Data *data, const DopTransform &dt) const

Member col::DopNode::check_stay (const DopNodeList &other, Data *data, const Dop &e, const DopTransform &dt) const
: Per overload deklarieren.

Class DopTree

Member col::ElemBox::set (const osg::FaceIterator &fi, const osg::MFPnt3f *points)
Warum werden bei GL_QUAD_STRIP die letzten beiden Vertices immer geswappt??

Class col::ElemDop

Member col::ElemDop::sortindex

Member col::ElemDop::operator< (const ElemDop &other) const
Sort mit ordentlichem BinaryPredicate machen! (dann ist das auch thread-safe)

Member col::Matrix::addObj (ColObj *obj)
Was noch getan werden muss

Member col::Matrix::addCallback (Callback *callback, vector< ColObj > *colobjs)

Member col::Matrix::callCallbacks (const ColPair &pair) const
Was noch getan werden muss

Class col::MatrixCell
Flag all_poygons auswerten.

Member col::MatrixCell::check (bool use_hulls)

Class col::NanoTimer

Class Request

Member col::Request::process (bool show_hulls, AlgoE algo, Matrix *colmatrix, std::vector< ColObj > *colobjs, std::vector< Callback * > cycle_callbacks, bool useHulls, Grid *grid)

Class col::Topology

Member col::Topology::createRelations (void)
Calc sizes of vectors first, so that we can do a resize() for each vector before filling it, in order to reduce memory fragmentation.

Class VisDebug
All the functions from Y/visdebug.c

File ColIntersect.cpp

IntersectPolygons: additional parameter for poly2's normal if available.

Member col::intersectCoplanarEdges (const Pnt3f &v0V, const Pnt3f &v1V, const Pnt3f &u0V, const Pnt3f &u1V, unsigned int x, unsigned int y)
Optimierung: Faktorisieren, um erste zwei Berechungen nicht mehrfach mit gleichen Parametern durchzufuehren!!!

Member col::intersectEdgePolygon (const Pnt3f &v1, const Pnt3f &v2, const Pnt3f *poly, unsigned int plSize, const Vec3f &normalV, unsigned int x, unsigned int y)
Schleife ueber intersectCoplanarEdges kann optimiert werden!

Member col::intersectPolygons (const Pnt3f *poly1, int plSize1, const Pnt3f *poly2, int plSize2, const unsigned int *index1, const unsigned int *index2, const osg::Matrix *cxform)
Da ein Viereck planar ist, braucht man eigentlich die Unterscheidung zwischen Quadrangle und Quadstrip doch nicht machen, oder?

File Collision.cpp

Member col::PolyIntersectT (Data *data)
Als Funktor machen!

File ColObj.cpp

Member col::pseudo_random (void)

Member col::axisToMat (const Vec3f &a, float d)
d = -d; kann man wahrscheinlich wieder rauswerfen, wenn man unten die Transposition auch entfernt.

Member col::sortVerticesCounterClockwise (const vector< Pnt3f > &vertex, const Vec3f &normal, TopoFace &face)
Use "Lamda Library" (Boost).

Member col::geomFromPoints (const Pnt3f vertex[], unsigned int nvertices, unsigned int face[], const unsigned int face_nv[], unsigned int nfaces, int gl_type, bool skip_redundant, const Vec3f normals[])

Member col::sleep (unsigned int microseconds)

Member col::lockToProcessor (unsigned int processor)
Implement for Windows.

Member col::isectEdgePolygon (const Pnt3f &v1, const Pnt3f &v2, const Pnt3f *poly, unsigned int plSize, const Vec3f &normalV, unsigned int x, unsigned int y, bool *isect, bool *oneside)
Schleife ueber intersectCoplanarEdges koennte optimiert werden.

Member col::pointInPolygon (const Pnt3f &pt, const Pnt3f *poly, unsigned int plSize, unsigned int x, unsigned int y)
Fuer Dreiecke und Vierecke optimieren!

Generated on Tue Oct 16 18:12:40 2007 for CollDet by  doxygen 1.5.2