MuseScore  3.4
Music composition and notation
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Ms::BspTree Class Reference

#include <bsp.h>

Classes

struct  Node
 

Public Member Functions

 BspTree ()
 
void initialize (const QRectF &rect, int depth)
 
void clear ()
 
void insert (Element *item)
 
void remove (Element *item)
 
QList< Element * > items (const QRectF &rect)
 
QList< Element * > items (const QPointF &pos)
 
int leafCount () const
 
int firstChildIndex (int index) const
 
int parentIndex (int index) const
 
QString debug (int index) const
 

Private Member Functions

void initialize (const QRectF &rect, int depth, int index)
 
void climbTree (BspTreeVisitor *visitor, const QPointF &pos, int index=0)
 
void climbTree (BspTreeVisitor *visitor, const QRectF &rect, int index=0)
 
void findItems (QList< Element *> *foundItems, const QRectF &rect, int index)
 
void findItems (QList< Element *> *foundItems, const QPointF &pos, int index)
 
QRectF rectForIndex (int index) const
 

Private Attributes

uint depth
 
QVector< Nodenodes
 
QVector< QList< Element * > > leaves
 
int leafCnt
 
QRectF rect
 

Constructor & Destructor Documentation

◆ BspTree()

Ms::BspTree::BspTree ( )

Member Function Documentation

◆ clear()

void Ms::BspTree::clear ( )

◆ climbTree() [1/2]

void Ms::BspTree::climbTree ( BspTreeVisitor visitor,
const QPointF &  pos,
int  index = 0 
)
private

◆ climbTree() [2/2]

void Ms::BspTree::climbTree ( BspTreeVisitor visitor,
const QRectF &  rect,
int  index = 0 
)
private

◆ debug()

QString Ms::BspTree::debug ( int  index) const

◆ findItems() [1/2]

void Ms::BspTree::findItems ( QList< Element *> *  foundItems,
const QRectF &  rect,
int  index 
)
private

◆ findItems() [2/2]

void Ms::BspTree::findItems ( QList< Element *> *  foundItems,
const QPointF &  pos,
int  index 
)
private

◆ firstChildIndex()

int Ms::BspTree::firstChildIndex ( int  index) const
inline

◆ initialize() [1/2]

void Ms::BspTree::initialize ( const QRectF &  rect,
int  depth,
int  index 
)
private

◆ initialize() [2/2]

void Ms::BspTree::initialize ( const QRectF &  rect,
int  depth 
)

◆ insert()

void Ms::BspTree::insert ( Element item)

◆ items() [1/2]

QList< Element * > Ms::BspTree::items ( const QRectF &  rect)

◆ items() [2/2]

QList< Element * > Ms::BspTree::items ( const QPointF &  pos)

◆ leafCount()

int Ms::BspTree::leafCount ( ) const
inline

◆ parentIndex()

int Ms::BspTree::parentIndex ( int  index) const
inline

◆ rectForIndex()

QRectF Ms::BspTree::rectForIndex ( int  index) const
private

◆ remove()

void Ms::BspTree::remove ( Element item)

Member Data Documentation

◆ depth

uint Ms::BspTree::depth
private

◆ leafCnt

int Ms::BspTree::leafCnt
private

◆ leaves

QVector<QList<Element*> > Ms::BspTree::leaves
private

◆ nodes

QVector<Node> Ms::BspTree::nodes
private

◆ rect

QRectF Ms::BspTree::rect
private

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