- Main Page
- Related Pages
- Classes
- Files

- File List

# src/GpuQuadraticCurveRender/Logic.h

Go to the documentation of this file.

    00001
    00002
    00003
    00004
    00005
    00006
    00007
    00008
    00009
    00010
    00011
    00012
    00013
    00014
    00015
    00016
    00017
    00018
    00019
    00020
    00025
    00026 #ifndef _LOGIC_H_
    00027 #define _LOGIC_H_
    00028
    00029 #include "Point.h"
    00030 #include "Line.h"
    00031
    00032 #include <vector>
    00033
    00034 namespace GpuQuadraticCurveRender
    00035 {
    00036
    00040 class Logic
    00041 {
    00042 public:
    00044         Logic(void);
    00045
    00047         ~Logic(void);
    00048
    00052         void EnablePoints(void);
    00053
    00057         void EnableLines(void);
    00058
    00062         void EnableTriangles(void);
    00063
    00065         bool ArePointsEnabled(void);
    00066
    00068         bool AreLinesEnabled(void);
    00069
    00071         bool AreTrianglesEnabled(void);
    00072
    00074         const std::vector<Point>& GetQuadraticControlPoints(void) const;
    00075
    00077         const std::vector<Line>& GetQuadraticLines(void) const;
    00078
    00080         const std::vector<int>& GetQuadraticIndices(void) const;
    00081
    00085         void SetQuadraticControlPoint(int pointIndex, const Point& point);
    00086
    00092         bool AreQuadraticControlPointsIntersected(const Point& point, int& controlPointIndex, float pointSize);
    00093
    00094 private:
    00096         std::vector<Point> m_quadraticControlPoints;
    00097
    00099         std::vector<Line> m_quadraticLines;
    00100
    00102         std::vector<int> m_quadraticIndices;
    00103
    00105         bool m_enabledPoints;
    00106
    00108         bool m_enabledLines;
    00109
    00111         bool m_enabledTriangles;
    00112
    00114         Logic(const Logic&);
    00115
    00117         Logic& operator=(const Logic&);
    00118
    00119         bool AreControlPointsIntersected(const std::vector<Point>& points, const Point& point, int& controlPointIndex, float pointSize);
    00120 };
    00121
    00122 }
    00123
    00124 #endif