Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/graphics/spatial_separation/spatial_separation.h @ 8310

Last change on this file since 8310 was 6022, checked in by bensch, 19 years ago

orxonox/trunk: merged the NewModel branche back to the trunk.
merged with command
svn merge branches/newModel/ trunk/ -r 6016:HEAD
no conflicts

File size: 1.6 KB
RevLine 
[4790]1/*!
[5039]2 * @file spatial_separation.h  Definition of the generic spatial separation process of model data
[4809]3 */
[4790]4
5#ifndef _SPATIAL_SEPARATION_H
6#define _SPATIAL_SEPARATION_H
7
8#include "base_object.h"
9
10
[6022]11class Model;
[4809]12class Quadtree;
[4790]13
14
[4841]15#define SEC_OFFSET 1.0                       //!< the offset added to the overlapSize to ensure that there are no problems in
[4819]16
[4841]17
18
[4805]19//! A class for spatial separation of vertices based arrays
[4790]20class SpatialSeparation : public BaseObject {
21
[4809]22  public:
[6022]23    SpatialSeparation(Model* model, float overlapSize);
24    SpatialSeparation(Model* model, Model* playerModel);
[4809]25    virtual ~SpatialSeparation();
[4790]26
[4810]27    void setTreeDepth(int depth) { this->treeDepth = depth; }
28    void setMinLength(int minLength) { this->minLength = minLength; }
29
[6022]30    Quadtree* createQuadtree(Model* model, float minLength);
31    Quadtree* createQuadtree(Model* model, int treeDepth);
32    Quadtree* createQuadtree(Model* model);
[4790]33
[4919]34    inline Quadtree* getQuadtree() { return this->quadtree; }
[4805]35
[4889]36    void drawQuadtree();
37
[4809]38  private:
[4810]39    void separateZone();
[4805]40
[4790]41
[4810]42  private:
[6022]43    Model*             model;        //!< the reference to the model that has to be handled
[4810]44    Quadtree*                  quadtree;     //!< the reference to the created quadtree
45
[6022]46    Model*             playerModel;  //!< referece to the player model, if needed for overlap calculations
[4810]47    float                      overlapSize;  //!< the size of overlaping
48
49    int                        treeDepth;    //!< depth of the quadtree
50    float                      minLength;    //!< min length of a quadtree node
[4790]51};
52
53#endif /* _SPATIAL_SEPARATION_H */
Note: See TracBrowser for help on using the repository browser.