Path: blob/master/sage/geometry/triangulation/triangulations.h
4096 views
#ifndef TRIANGULATION__H1#define TRIANGULATION__H23#include "data.h"4#include <Python.h>5678class triangulations: public std::vector<compact_simplices>9{10private:11hash_value hash_max;12compact_simplices no_triangulation_instance;13compact_simplices::const_iterator no_triangulation;14std::vector<size_t> hash_list;15flips bistellar_flips;16int position;17int star;18bool fine;19mutable bool need_resize;20protected:21void find_hash_position(const compact_simplices&, hash_value&, bool&) const;22void add_triangulation(const compact_simplices &);23public:24triangulations(const flips&);2526void add_triang_if_new(const compact_simplices &);27void add_neighbours(const simplices &);2829void require_star_triangulation(const int s=-1) { star=s; };30void require_fine_triangulation(const bool f=true) { fine=f; };3132bool have_more_triangulations();33const compact_simplices& next_triangulation();34};3536373839typedef triangulations* triangulations_ptr;4041triangulations_ptr init_triangulations42(int n, int d, int star, bool fine, PyObject* py_seed, PyObject* py_flips);4344PyObject* next_triangulation(triangulations_ptr);4546void delete_triangulations(triangulations_ptr);474849#endif505152