Pattern.h 870 Bytes
Newer Older
1 2
#ifndef OERSTED_PATTERN_H
#define OERSTED_PATTERN_H
Jason Pries's avatar
Jason Pries committed
3

4 5 6 7 8
#include "SketchElement.h"

class Curve;
class Constraint;
class Vertex;
Jason Pries's avatar
Jason Pries committed
9 10 11

class Pattern : public SketchElement {
public:
12 13 14 15
    size_t set_equation_index(size_t i) override {
        EquationIndex = i;
        return 0;
    };
Jason Pries's avatar
Jason Pries committed
16

17
    void register_elements(Sketch *s) const;
Jason Pries's avatar
Jason Pries committed
18

19
    void register_parameters(Sketch *s) const override {};
Jason Pries's avatar
Jason Pries committed
20

21
    void update(Eigen::MatrixXd &J, Eigen::VectorXd &r) const override {};
Jason Pries's avatar
Jason Pries committed
22

23 24
    std::vector<std::shared_ptr<Curve>> const &curves() const { return Curves; };

25 26
protected:
    std::vector<std::shared_ptr<Curve const>> Input;
Jason Pries's avatar
Jason Pries committed
27

28 29 30 31 32
    std::vector<std::shared_ptr<Constraint>> Constraints;

    std::vector<std::shared_ptr<Curve>> Curves;

    std::vector<std::shared_ptr<Vertex>> Verticies;
Jason Pries's avatar
Jason Pries committed
33

34
    bool RemoveInternalBoundaries;
Jason Pries's avatar
Jason Pries committed
35 36
};

37
#endif //OERSTED_PATTERN_H