8#ifndef PYEXPORTMODEL_H_INCLUDED
9#define PYEXPORTMODEL_H_INCLUDED
21#include "boost/python.hpp"
25BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(greedyreferencebuild_overloads, greedyReferenceBuild, 2, 4)
26BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(buildperiod_overloads, buildPeriod, 0, 3)
27BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(get_outputs_overloads, get_outputs, 0, 1)
28BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getsolution_overloads, getSolution, 1, 2)
29BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getLPoutputoverloads, getOutput, 2, 3)
30BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getSchedulesOverloads, getSchedule, 0, 1)
31BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getPotentialScheduleOverloads, getPotentialSchedule,2,3)
32BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(warmup_overloads, warmup, 2, 4)
33BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(evaluate_overloads, evaluate, 1, 2)
34BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getoperatingareaschedulerheuristics_overloads, getOperatingAreaSchedulerHeuristics,2, 4)
35BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getoperatingareaclustererheuristics_overloads,getOperatingAreaClustererHeuristics,4,7)
36BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getareavariabilities_overloads, getAreaVariabilities,2,3)
37BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(boundsolution_overloads, boundSolution, 1, 2)
38BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(eraseperiod_overloads, erasePeriod,0,1)
39BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(setsolution_overloads,setSolution, 2, 3)
40BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(setsolutionbylp_overloads,setSolutionByLp, 2, 3)
41BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(addscheduletoobjective_overloads, addScheduleToObjective, 1, 2)
42BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(getarea_overloads, getArea, 0, 2)
43BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(doplanning_overloads,doPlanning,1,2)
44BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(showparameters_overloads,showParameters,0,1)
45BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(eraseconstraint_overloads,eraseConstraint,1, 2)
49 namespace bp = boost::python;
50 bp::object ModelsModule(bp::handle<>(bp::borrowed(PyImport_AddModule(
"FMT.Models"))));
51 bp::scope().attr(
"Models") = ModelsModule;
52 bp::scope ModelsModule_scope = ModelsModule;
53 bp::scope().attr(
"__doc__") =
".. module:: Model\n"
55 " :platform: Unix, Windows\n"
56 " :synopsis: Module used to generate all kind of Models (M2/M3).\n"
60 bp::class_<Models::FMTModel, bp::bases<Core::FMTObject>>(
"FMTmodel",
"@DocString(FMTModel)")
61 .def_pickle(FMT_pickle_suite<Models::FMTModel>())
62 .def(bp::init<Models::FMTModel>())
64 "@DocString(FMTModel::getyields)")
66 "@DocString(FMTModel::setyields)")
68 "@DocString(FMTModel::setlifespan)")
69 .def(
"addageyieldhandlers", &Models::FMTModel::addYieldHandlers<Core::FMTAgeYieldHandler>,
70 "@DocString(FMTModel::addyieldhandlers)")
71 .def(
"addtimeyieldhandlers", &Models::FMTModel::addYieldHandlers<Core::FMTTimeYieldHandler>,
72 "@DocString(FMTModel::addyieldhandlers)")
74 "@DocString(FMTModel::getname)")
75 .def(
"getarea",&
Models::FMTModel::getArea, getarea_overloads(bp::args(
"period",
"beforegrowanddeath"),
"@DocString(FMTModel::getarea)"))
77 "@DocString(FMTModel::setarea)")
79 "@DocString(FMTModel::getthemes)")
81 "@DocString(FMTModel::setthemes)")
83 "@DocString(FMTModel::getActions)")
85 "@DocString(FMTModel::setactions)")
87 "@DocString(FMTModel::getoutputs)")
89 "@DocString(FMTModel::setoutputs)")
91 "@DocString(FMTModel::getConstraints)")
93 "@DocString(FMTModel::setconstraints)")
95 "@DocString(FMTModel::gettransitions)")
97 "@DocString(FMTModel::settransitions)")
99 "@DocString(FMTModel::setname)")
101 "@DocString(FMTModel::setareaperiod)")
103 "@DocString(FMTModel::getlifespan)")
105 "@DocString(FMTModel::isValid)")
107 "@DocString(FMTModel::clearcache)")
109 "@DocString(FMTModel::getselectedmask)")
111 "@DocString(FMTModel::getpostsolvefilter)")
113 "@DocString(FMTModel::basepresolve)")
115 "@DocString(FMTModel::isoptimal)")
117 "@DocString(FMTModel::getobjectivevalue)")
119 getPotentialScheduleOverloads(bp::args(
"toremove",
"selection",
"withlock"),
"@DocString(FMTModel::getpotentialschedule)"))
122 "@DocString(FMTModel::setparameter(const FMTintmodelparameters,const int&))")
124 "@DocString(FMTModel::setparameter(const FMTdblmodelparameters,const double))")
126 "@DocString(FMTModel::setparameter(const FMTboolmodelparameters,const bool))")
128 "@DocString(FMTModel::getparameter(const FMTintmodelparameters))")
130 "@DocString(FMTModel::getparameter(const FMTdblmodelparameters))")
132 "@DocString(FMTModel::getparameter(const FMTboolmodelparameters))")
134 "@DocString(FMTModel::setcompresstime)")
136 "@DocString(FMTModel::getcompresstime)")
138 showparameters_overloads(bp::args(
"showhelp"),
"@DocString(FMTModel::showparameters)"))
140 doplanning_overloads(bp::args(
"solve"),
"@DocString(FMTModel::doplanning)"))
142 getsolution_overloads(bp::args(
"period",
"withlock"),
"@DocString(FMTModel::getsolution)"))
144 getLPoutputoverloads(bp::args(
"output",
"period",
"level"),
"@DocString(FMTSeModel::getoutput)"));
146 definePyList<Models::FMTModel>();
150 bp::to_python_converter<std::map<std::string, double>, MapToDict<std::string, double>>();
153 bp::class_<Models::FMTSeModel, bp::bases<Models::FMTModel>>(
"FMTsemodel",
"@DocString(FMTSeModel)")
154 .def(bp::init<Models::FMTModel>())
155 .def_pickle(FMT_pickle_suite<Models::FMTSeModel>())
157 "@DocString(FMTSeModel::getmapping)")
159 "@DocString(FMTSeModel::setinitialmapping)")
161 getSchedulesOverloads(bp::args(
"withlock"),
"@DocString(FMTSeModel::getschedule)"))
163 "@DocString(FMTSeModel::getdisturbancestats)")
165 "@DocString(FMTSeModel::getspatialoutput)")
173 "@DocString(FMTSeModel::getspschedule)");
175 definePyList<Models::FMTSeModel>();
178 bp::class_<Models::FMTSesModel, bp::bases<Models::FMTSeModel>>(
"FMTsesmodel",
"@DocString(FMTSesModel)")
179 .def(bp::init<Models::FMTModel>())
180 .def_pickle(FMT_pickle_suite<Models::FMTSesModel>())
182 greedyreferencebuild_overloads(bp::args(
"schedule",
"numberofiterations",
"seed",
"tolerance"),
"@DocString(FMTSesModel::GreedyReferenceBuild)"));
184 definePyList<Models::FMTSesModel>();
186 bp::enum_<Models::FMTintmodelparameters>(
"FMTintmodelparameters")
194 definePyList<Models::FMTintmodelparameters>();
196 bp::enum_<Models::FMTdblmodelparameters>(
"FMTdblmodelparameters")
200 definePyList<Models::FMTdblmodelparameters>();
202 bp::enum_<Models::FMTboolmodelparameters>(
"FMTboolmodelparameters")
210 definePyList<Models::FMTboolmodelparameters>();
216 bp::enum_<Models::FMTSolverInterface>(
"FMTsolverinterface")
225 definePyList<Models::FMTSolverInterface>();
227 bp::class_<Models::FMTLpSolver>(
"FMTlpolver",
"@DocString(FMTLpSolver)")
230 "@DocString(FMTLpSolver::isProvenOptimal)")
232 "@DocString(FMTLpSolver::getObjValue)")
234 "@DocString(FMTLpSolver::getObjSense)")
236 "@DocString(FMTLpSolver::setnumberofthreads)")
238 "@DocString(FMTLpSolver::setMipGapTolerance)")
240 "@DocString(FMTLpSolver::setOptimizerMaxTime)")
242 "@DocString(FMTLpSolver::writeLp)")
244 "@DocString(FMTLpSolver::writeMps)")
246 "@DocString(FMTLpSolver::getAvailableSolverInterface)").staticmethod(
"getavailablesolverinterface");
248 bp::class_<Models::FMTSrModel, bp::bases<Models::FMTModel>>(
"FMTsrmodel",
"@DocString(FMTSrModel)")
249 .def_pickle(FMT_pickle_suite<Models::FMTSrModel>())
250 .def(
"buildperiod", &
Models::FMTSrModel::buildPeriod, buildperiod_overloads(bp::args(
"schedule",
"forcepartialbuild",
"compressageclass"),
"@DocString(FMTSrModel::buildperiod)"))
253 setsolution_overloads(bp::args(
"period",
"schedule",
"tolerance"),
"@DocString(FMTSrModel::setsolution)"))
256 setsolutionbylp_overloads(bp::args(
"period",
"schedule",
"tolerance"),
"@DocString(FMTSrModel::setsolutionbylp)"))
259 "@DocString(FMTSrModel::cleargraphdevelopements)")
261 "@DocString(FMTSrModel::getstats)")
263 "@DocString(FMTSrModel::getRotations)")
265 "@DocString(FMTSrModel::getGraphStats)")
267 "@DocString(FMTSrModel::getscheduleproportions)");
269 definePyList<Models::FMTSrModel>();
271 bp::class_<Models::FMTNssModel, bp::bases<Models::FMTSrModel>>(
"FMTnssmodel",
"@DocString(FMTNssModel)")
272 .def(bp::init<Models::FMTModel, unsigned int>())
273 .def(bp::init<Models::FMTNssModel>())
274 .def_pickle(FMT_pickle_suite<Models::FMTNssModel>())
277 definePyList<Models::FMTNssModel>();
280 bp::class_<Models::FMTLpModel, bp::bases<Models::FMTSrModel>>(
"FMTlpmodel",
"@DocString(FMTLpModel)")
281 .def(bp::init<Models::FMTModel, Models::FMTSolverInterface>())
282 .def(bp::init<Models::FMTLpModel>())
283 .def_pickle(FMT_pickle_suite<Models::FMTLpModel>())
288 "@DocString(FMTLpModel::setobjective)")
290 "@DocString(FMTLpModel::clearcache)")
292 "@DocString(FMTLpModel::clearconstraintlocation)")
294 "@DocString(FMTLpModel::setstrictlypositivesoutputsmatrix)")
296 "@DocString(FMTLpModel::setconstraint)")
298 eraseconstraint_overloads(bp::args(
"constraint",
"period"),
"@DocString(FMTLpModel::eraseconstraint)"))
300 eraseperiod_overloads(bp::args(
"constraintsonly"),
"@DocString(FMTLpModel::eraseperiod)"))
302 "@DocString(FMTLpModel::resolve)")
304 "@DocString(FMTLpModel::initialsolve)")
305 .def(
"__eq__", &Models::FMTLpModel::operator ==,
306 "@DocString(FMTLpModel::operator==)")
307 .def(
"__ne__", &Models::FMTLpModel::operator !=,
308 "@DocString(FMTLpModel::operator!=)")
311 "@DocString(FMTLpModel::getObjValue)")
312 .def(
"getlocalconstraints",
314 "@DocString(FMTLpModel::getreplanningconstraints)")
317 "@DocString(FMTLpModel::writeLp)")
318 .def(
"getoperatingareaschedulerheuristics", &
Models::FMTLpModel::getOperatingAreaSchedulerHeuristics, getoperatingareaschedulerheuristics_overloads(bp::args(
"opareas",
"node",
"numberofheuristics",
"copysolver",
"updatematrixname"),
"@DocString(FMTLpModel::getoperatingareaschedulerheuristics)"))
319 .def(
"getoperatingareaclustererheuristics", &
Models::FMTLpModel::getOperatingAreaClustererHeuristics, getoperatingareaclustererheuristics_overloads(bp::args(
"opareas",
"statisticoutput",
"areaoutput",
"period",
"numberofheuristics"),
"@DocString(FMTLpModel::getoperatingareaschedulerheuristics)"))
321 .def(
"getareavariabilities", &
Models::FMTLpModel::getAreaVariabilities, getareavariabilities_overloads(bp::args(
"outputs",
"globalmask",
"tolerance"),
"@DocString(FMTLpModel::getareavariabilities)"))
326 definePyList<Models::FMTLpModel>();
332 bp::class_<Models::FMTSaModel, bp::bases<Models::FMTSeModel>>(
"FMTsamodel",
"@DocString(FMTSaModel)")
333 .def(bp::init<Models::FMTModel>())
334 .def(bp::init<Models::FMTSaModel>())
336 "@DocString(FMTSaModel::initialsolve)");
338 definePyList<Models::FMTSaModel>();
std::map< std::string, std::vector< double > > getAreaVariabilities(const std::vector< Core::FMTOutput > &localoutputs, const std::vector< Core::FMTMask > &globalmasks, std::vector< double > tolerances=std::vector< double >()) const
Return the change in outputs resulting from a variation of the area of the model for a given global m...
Graph::FMTGraphStats eraseConstraint(const Core::FMTConstraint &constraint, int period=-1)
Erase a constraint in the matrix and in the model elements.
std::vector< Heuristics::FMTOperatingAreaScheduler > getOperatingAreaSchedulerHeuristics(const std::vector< Heuristics::FMTOperatingAreaScheme > &opareas, const Core::FMTOutputNode &node, size_t numberofheuristics=1, bool copysolver=true)
Return operating area scheduler heuristics using multiple operating areas and an output node with a M...
void clearConstraintLocation()
Clear the constraint localisation in the matrix.
void setStrictlyPositivesOutputsMatrix()
Set the model parameter STRICTLY_POSITIVE to true.
Graph::FMTGraphStats setObjective(const Core::FMTConstraint &objective)
Set the objective of the matrix for the whole planning horizon (graph length).
virtual std::vector< Core::FMTConstraint > getReplanningConstraints(const std::string &modeltype, const std::vector< Core::FMTConstraint > &localconstraints, const int &period) const
Adjust local or global constraints to the global model during replanning, using the solution of this ...
void writeLp(const std::string &location)
Write the solver interface matrix to a file using the LP formulation.
bool initialSolve()
Cold start of the LP solve of a simple LP model.
void clearCache()
Remove the cache to release memory.
void addScheduleToObjective(const Core::FMTSchedule &schedule, double weight=1000)
Add weight to the objective function for a given schedule.
double getObjValue() const
Get the objective value of the solved matrix.
std::vector< Heuristics::FMTOperatingAreaClusterer > getOperatingAreaClustererHeuristics(const std::vector< Heuristics::FMTOperatingAreaCluster > &clusters, const Core::FMTOutput &statisticoutput, const Core::FMTOutput &areaoutput, const int &period, size_t numberofheuristics=1, int minimalnumberofclusters=-1, int maximalnumberofclusters=-1) const
Return operating area clusterer heuristics for solving the operating area clustering problem using mu...
Graph::FMTGraphStats erasePeriod(bool constraintsonly=false)
Delete the first period (front) of the graph and the matrix, shrinking the planning length to the ori...
Graph::FMTGraphStats setConstraint(const Core::FMTConstraint &constraint)
Set a constraint in the matrix for the whole planning horizon (graph length).
std::map< std::string, std::vector< double > > getVariabilities(const std::vector< Core::FMTOutput > &outputs, const int &periodStart, const int &periodStop)
Get the variability of multiple outputs for a given tolerance for each period between periodStart and...
bool resolve()
Call solverinterface->resolve when some changes are done to the model, avoiding a full initialSolve.
void writeLp(const std::string &location) const
Write the solver interface matrix to a file using the LP formulation.
double getObjValue() const
Get the objective value of the solved matrix.
void writeMps(const std::string &location) const
Write the solver interface matrix to a file using the MPS formulation.
bool isProvenOptimal() const
Return true if the program is optimal, synchronizing the matrix with the cache first.
double getObjSense() const
Return the objective sense of the solver interface, synchronizing with the cache first.
static std::vector< Models::FMTSolverInterface > getAvailableSolverInterface()
Return the available solver interfaces.
void setOptimizerMaxTime(const double &time)
Set the maximum amount of time the optimizer is allowed to spend on the optimization.
void setMipGapTolerance(const double &gap)
Set the tolerance between the relaxed optimal and the integer optimal.
void setNumberOfThreads(const size_t &nthread)
Set the maximum number of threads to be used by the solver.
Base class for the different models in FMT.
Definition: FMTModel.h:62
virtual Core::FMTSchedule getSolution(int period, bool withlock=false) const
Get the standard solution for a given period, without the natural growth solution.
Core::FMTMaskFilter getPostSolveFilter(const std::vector< Core::FMTTheme > &originalthemes, const Core::FMTMask &devmask) const
Get the postsolve filter used by the preSolve, to turn a presolved mask into a postsolve mask.
Core::FMTMask getSelectedMask(const std::vector< Core::FMTTheme > &originalthemes) const
Get the selection mask needed to preSolve a FMTMask when the model is presolved.
FMTModel basePreSolve() const
Presolve the model using the existing area.
std::vector< Core::FMTOutput > getOutputs() const
Return a copy of the outputs of the model.
Definition: FMTModel.h:365
std::vector< Core::FMTTheme > getThemes() const
Return a copy of the themes of the model.
Definition: FMTModel.h:320
std::vector< int > getCompressTime() const
Return a vector with the compresstime value for each period, the first period being index 0....
virtual bool doPlanning(const bool &solve, std::vector< Core::FMTSchedule > schedules=std::vector< Core::FMTSchedule >())
Build the model and do the initial solve or simulate, using the build and solve overridden functions ...
virtual std::map< std::string, double > getOutput(const Core::FMTOutput &output, int period, Core::FMToutputlevel level=Core::FMToutputlevel::standard) const
Get the output value of an output for a given period using the spatial solution.
int getParameter(const FMTintmodelparameters &key) const
Getter for int model parameters. See FMTModelParameters.h.
Core::FMTYields getYields() const
Return a copy of the yields of the model.
Definition: FMTModel.h:347
void setOutputs(const std::vector< Core::FMTOutput > &newoutputs)
Setter for the outputs of the model.
void setConstraints(const std::vector< Core::FMTConstraint > &lconstraint)
Setter for the constraints of the model, replacing the original.
std::vector< Core::FMTTransition > getTransitions() const
Return a copy of the transitions of the model.
Definition: FMTModel.h:338
virtual bool isOptimal() const
Return true if the FMTModel is optimal.
void setAreaPeriod(const int &period)
Change the initial area period to the targeted period.
void setArea(const std::vector< Core::FMTActualDevelopment > &ldevs)
Setter for the initial actual developments (area section), replacing the originals.
Core::FMTSchedule getPotentialSchedule(std::vector< Core::FMTActualDevelopment > toRemove, std::vector< Core::FMTActualDevelopment > selection, bool withlock=true) const
Test operability of a selection minus the developments to remove and return a schedule with an area o...
std::vector< Core::FMTAction > getActions() const
Return a copy of the actions of the model.
Definition: FMTModel.h:329
virtual bool setParameter(const FMTintmodelparameters &p_key, const int &p_value)
set int parameters to nss model.
void setYields(const Core::FMTYields &lylds)
Setter for the yields of the model, replacing the original.
Core::FMTLifespans getLifespan() const
Return a copy of the lifespan of the model.
Definition: FMTModel.h:356
virtual double getObjectiveValue() const
Return the value of the global objective.
void setLifespan(const Core::FMTLifespans &llifespan)
Setter for the lifespan of the model, replacing the original.
bool setCompressTime(const int &periodStart, const int &periodStop, const int &value)
Set the compresstime value for a range of periods. See FMTModelParameters.h.
void setName(const std::string &newname)
Set the name of the FMTModel.
std::string getName() const
Return the name of the FMTModel.
Definition: FMTModel.h:311
virtual void showParameters(const bool &showhelp=false) const
Show the parameter values.
void setTransitions(const std::vector< Core::FMTTransition > <ransitions)
Setter for the transitions of the model, replacing the originals.
virtual std::vector< Core::FMTActualDevelopment > getArea(int period=0, bool beforegrowanddeath=false) const
Get the area of a given period as actual developments.
void setThemes(const std::vector< Core::FMTTheme > <hemes)
Setter for the themes of the model, replacing the originals.
bool isValid()
Validate the whole FMTModel through themes, actual developments, yields, actions, transitions,...
std::vector< Core::FMTConstraint > getConstraints() const
Return a copy of the constraints of the model.
Definition: FMTModel.h:374
void setActions(const std::vector< Core::FMTAction > &lactions)
Setter for the actions of the model, replacing the originals.
virtual void clearCache()
Clear caching elements to reduce memory usage.
void simulate()
Do a non spatial simulation based on the area constraints in the optimize section.
bool initialSolve()
Try to solve the model from a cold start.
std::vector< Core::FMTSchedule > getSchedule(bool withlock=false) const
Return a copy of the operated schedules of the model, which can differ from the potential schedule.
std::string getDisturbanceStats() const
Return a string of patch statistics (area, perimeter) of the disturbances stack.
Spatial::FMTForest getMapping() const
Return a copy of the actual spatial forest state of each development.
bool setInitialMapping(const Spatial::FMTForest &forest)
Set the initial forest state, to be set before greedyReferenceBuild is called.
virtual Spatial::FMTLayer< double > getSpatialOutput(const Core::FMTOutput &output, int period) const
Get the spatial output value based on the spatial solution.
Spatial::FMTSpatialSchedule getSpSchedule() const
Return a copy of the spatially explicit solution.
Definition: FMTSeModel.h:82
std::map< std::string, double > greedyReferenceBuild(const Core::FMTSchedule &p_schedule, size_t p_randomIterations, int p_seed=0, double p_tolerance=FMT_DBL_TOLERANCE)
Find the best spatialization for a schedule using random draws over several iterations.
void clearGraphDevelopments()
Clear the developments location by periods in the graph.
Core::FMTSchedule getScheduleProportions(int period, bool withlock) const
Same as getSolution but the schedule area represents the percentage of area of the development.
Graph::FMTGraphStats getStats() const
Get the graph stats of the graph and matrix (number of columns, rows, edges, vertices).
Graph::FMTGraphStats buildPeriod(Core::FMTSchedule schedule=Core::FMTSchedule(), bool forcepartialbuild=false, int compressageclassoperability=1)
Main function used to build the graph and the matrix, adding a period within the graph and the matrix...
std::set< Core::FMTSerie > getRotations(const Core::FMTMask &mask, const std::string &aggregate) const
Get all the unique rotations (in periods) taken to complete a serie of actions for a mask and an acti...
bool setSolutionByLp(int period, const Core::FMTSchedule &schedule, double tolerance=FMT_DBL_TOLERANCE)
Set the solution on a partial graph using a schedule, changing the objective function,...
bool forceSolution(int period, const Core::FMTSchedule &proportionschedulewithlock)
Force a solution using a schedule based on proportions instead of area, placing only the parts of the...
bool setSolution(int period, const Core::FMTSchedule &schedule, double tolerance=FMT_DBL_TOLERANCE)
Set a solution for a given period to warmstart the model or to prepare to bound the model to that sol...
Graph::FMTGraphStats getGraphStats(const Core::FMTMask &p_Subset) const
Get the graph stats of the graph and matrix (number of columns, rows, edges, vertices) for a mask sub...
FMTdblmodelparameters
Enumerator of the double parameters of a FMTModel.
Definition: FMTModelParameters.h:54
@ TOLERANCE
Definition: FMTModelParameters.h:55
@ GOALING_SCHEDULE_WEIGHT
Definition: FMTModelParameters.h:56
FMTintmodelparameters
Enumerator of the integer parameters of a FMTModel.
Definition: FMTModelParameters.h:28
@ LENGTH
Definition: FMTModelParameters.h:29
@ SEED
Definition: FMTModelParameters.h:30
@ MATRIX_TYPE
Definition: FMTModelParameters.h:34
@ NUMBER_OF_THREADS
Definition: FMTModelParameters.h:33
@ PRESOLVE_ITERATIONS
Definition: FMTModelParameters.h:32
@ NUMBER_OF_ITERATIONS
Definition: FMTModelParameters.h:31
FMTboolmodelparameters
Enumerator of the boolean parameters of a FMTModel.
Definition: FMTModelParameters.h:67
@ DEBUG_MATRIX
Definition: FMTModelParameters.h:73
@ SHOW_LOCK_IN_SCHEDULES
Definition: FMTModelParameters.h:71
@ PRESOLVE_CAN_REMOVE_STATIC_THEMES
Definition: FMTModelParameters.h:72
@ STRICTLY_POSITIVE
Definition: FMTModelParameters.h:69
@ FORCE_PARTIAL_BUILD
Definition: FMTModelParameters.h:68
@ POSTSOLVE
Definition: FMTModelParameters.h:70
Definition: PYdefinitions.h:14
void exportModel()
Definition: PYexportModel.h:47