Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 4956 was 4919, checked in by patrick, 19 years ago

orxonox/trunk: CDEngine knows player and gets the array offsets

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