Files
vimix/Selection.h
brunoherbelin 3b09bc877c Introducing Oriented bounding box for GeometryView selection
First implementation of MixingView selection manipulation (scale and
rotate)
2021-03-15 11:56:16 +01:00

45 lines
804 B
C++

#ifndef SELECTION_H
#define SELECTION_H
#include "SourceList.h"
class Selection
{
public:
Selection();
// construct list
void add (Source *s);
void add (SourceList l);
void remove (Source *s);
void remove (SourceList l);
void set (Source *s);
void set (SourceList l);
void toggle (Source *s);
void clear ();
void pop_front();
// access elements
SourceList::iterator begin ();
SourceList::iterator end ();
Source *front();
Source *back();
// properties
bool contains (Source *s);
bool empty() const;
uint size () const;
// extract
std::string xml() const;
SourceList getCopy() const;
protected:
SourceList::iterator find (Source *s);
SourceList selection_;
};
#endif // SELECTION_H