F.E.I.S/Chart.h
Stepland 8d44098063 - Tab selection in linear view
- Cut/Copy/Paste selected notes
- LN displayed correctly in the Linear View
- bunch of other small stuff
2019-03-27 20:37:30 +01:00

48 lines
817 B
C++

//
// Created by Syméon on 25/08/2017.
//
#ifndef FEIS_CHART_H
#define FEIS_CHART_H
#include <iostream>
#include <set>
#include <vector>
#include "Note.h"
/*
* Holds the notes, the difficulty name and the level
*/
class Chart {
public:
Chart(const std::string &dif = "Edit",
int level = 1,
int resolution = 240);
int getResolution() const;
void setResolution(int resolution);
std::string dif_name;
int level;
std::set<Note> Notes;
std::set<Note> getNotesBetween(int start_timing, int end_timing) const;
std::set<Note> getVisibleNotesBetween(int start_timing, int end_timing) const;
bool is_colliding(const Note &note, int ticks_threshold);
bool operator==(const Chart &rhs) const;
bool operator!=(const Chart &rhs) const;
private:
int resolution;
};
#endif //FEIS_CHART_H