#ifndef PED_CONSTRAINT_H #define PED_CONSTRAINT_H #include "alignment.h" #include "geometry.h" namespace Ped { class Constraint { friend class FileSystem; private: Constraint(); Constraint(const Constraint &); //Constraint operator=(const Constraint &); Geometry &startrange, &endrange; Alignment &start_align, &end_align; Sector min_size, max_size; PedConstraint* constraint_; public: explicit Constraint (Alignment& start_align, Alignment& end_align, Geometry& start_range, Geometry& end_range, Sector min_size, Sector max_size); explicit Constraint (Geometry& min, Geometry& max); explicit Constraint (Geometry& minmax, bool isMin); ~Constraint ( ); Constraint& duplicate ( ); Constraint& intersect (Constraint& a); Geometry& solve_max ( ); Geometry& solve_nearest (Geometry& geom); bool is_solution (Geometry& geom); void set_c_constraint (PedConstraint* constraint) { constraint_ = constraint; }; PedConstraint* get_c_constraint ( ) { return constraint_; }; protected: }; }; #endif /* vim: set tabstop=4 et shiftwidth=4: */