#include "IndSimpSetIncAdj.h"
#include "accessors.h"
#include "geometry.h"
#include "PointsOnManifold.h"
#include "../simplex/ComplexWithFreeVertexOnManifold.h"
#include "../simplex/SimplexModMeanRatio.h"
#include "../simplex/SimplexModCondNum.h"
#include "../../kernel/ParametrizedLine.h"
#include "../../kernel/ParametrizedPlane.h"
#include "../../../ads/functor/Identity.h"
#include "../../../ads/iterator/IntIterator.h"
#include "../../../numerical/optimization/QuasiNewton.h"
#include "../../../numerical/optimization/PenaltyQuasiNewton.h"
#include "../../../numerical/optimization/Simplex.h"
#include "optimize.ipp"
Go to the source code of this file.
Namespaces | |
namespace | geom |
Functions | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS> | |
void | geom::geometricOptimizeInterior (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, int numSweeps=1) |
Optimize the position of the interior vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, typename IntForIter> | |
void | geom::geometricOptimizeInterior (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, int numSweeps=1) |
Make numSweeps optimization sweeps over the given interior vertices with the quality function given as a template parameter. | |
template<int N, bool A, typename T, typename V, typename IS> | |
void | geom::geometricOptimizeInteriorUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, const int numSweeps=1) |
Optimize the position of the interior vertices. | |
template<int N, bool A, typename T, typename V, typename IS> | |
void | geom::geometricOptimizeInteriorUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, const int numSweeps=1) |
Optimize the position of the interior vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimizeBoundary (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, int numSweeps=1) |
Optimize the position of all boundary vertices. | |
template<template< int, typename > class QF, bool A, typename T, typename V, typename IS, typename IntForIter, int SD> | |
void | geom::geometricOptimizeBoundary (IndSimpSetIncAdj< 2, 2, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, PointsOnManifold< 2, 1, SD, T > *boundaryManifold, int numSweeps=1) |
Make numSweeps optimization sweeps over the given boundary vertices with the quality function given as a template parameter. | |
template<int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimizeBoundaryUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, const int numSweeps=1) |
Optimize the position of all boundary vertices. | |
template<int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimizeBoundaryUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, const int numSweeps=1) |
Optimize the position of all boundary vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimize (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, int numSweeps=1) |
Optimize the position of all vertices. | |
template<int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimizeUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimizeUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimizeWithBoundaryCondition (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, int numSweeps=1) |
Optimize the position of all vertices. | |
template<int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimizeWithBoundaryConditionUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<int N, bool A, typename T, typename V, typename IS, int SD> | |
void | geom::geometricOptimizeWithBoundaryConditionUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, class BoundaryCondition> | |
void | geom::geometricOptimizeWithCondition (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, const BoundaryCondition &condition, int numSweeps=1) |
Optimize the position of all vertices. | |
template<int N, bool A, typename T, typename V, typename IS, class BoundaryCondition> | |
void | geom::geometricOptimizeWithConditionUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, const BoundaryCondition &condition, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<int N, bool A, typename T, typename V, typename IS, class BoundaryCondition> | |
void | geom::geometricOptimizeWithConditionUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, const BoundaryCondition &condition, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS> | |
void | geom::geometricOptimize (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<int N, bool A, typename T, typename V, typename IS> | |
void | geom::geometricOptimizeUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<int N, bool A, typename T, typename V, typename IS> | |
void | geom::geometricOptimizeUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, const int numSweeps=1) |
Optimize the position of all vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, typename IntForIter, int SD> | |
void | geom::geometricOptimizeWithBoundaryCondition (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, int numSweeps=1) |
Make numSweeps optimization sweeps over the given vertices with the quality function given as a template parameter. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter, int SD> | |
void | geom::geometricOptimizeWithBoundaryConditionUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, const int numSweeps=1) |
Optimize the position of a set of vertices. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter, int SD> | |
void | geom::geometricOptimizeWithBoundaryConditionUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, PointsOnManifold< N, N-1, SD, T > *boundaryManifold, const int numSweeps=1) |
Optimize the position of a set of vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, typename IntForIter, class BoundaryCondition> | |
void | geom::geometricOptimizeWithCondition (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const BoundaryCondition &condition, int numSweeps=1) |
Make numSweeps optimization sweeps over the given vertices with the quality function given as a template parameter. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter, class BoundaryCondition> | |
void | geom::geometricOptimizeWithConditionUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const BoundaryCondition &condition, int numSweeps=1) |
Optimize the position of a set of vertices. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter, class BoundaryCondition> | |
void | geom::geometricOptimizeWithConditionUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const BoundaryCondition &condition, const int numSweeps=1) |
Optimize the position of a set of vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, typename IntForIter> | |
void | geom::geometricOptimize (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const int numSweeps=1) |
Make numSweeps optimization sweeps over the given vertices with the quality function given as a template parameter. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter> | |
void | geom::geometricOptimizeUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const int numSweeps=1) |
Optimize the position of a set of vertices. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter> | |
void | geom::geometricOptimizeUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const int numSweeps=1) |
Optimize the position of a set of vertices. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, typename IntForIter, class BoundaryCondition> | |
void | geom::geometricOptimizeWithConditionConstrained (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const BoundaryCondition &condition, const T maxConstraintError, int numSweeps=1) |
Make numSweeps constrained optimization sweeps over the given vertices with the quality function given as a template parameter. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter, class BoundaryCondition> | |
void | geom::geometricOptimizeWithConditionConstrainedUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const BoundaryCondition &condition, const T maxConstraintError, int numSweeps=1) |
Optimize the position of a set of vertices subject to a constant content constraint. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter, class BoundaryCondition> | |
void | geom::geometricOptimizeWithConditionConstrainedUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const BoundaryCondition &condition, const T maxConstraintError, const int numSweeps=1) |
Optimize the position of a set of vertices subject to a constant content constraint. | |
template<template< int, typename > class QF, int N, bool A, typename T, typename V, typename IS, typename IntForIter> | |
void | geom::geometricOptimizeConstrained (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const T maxConstraintError, const int numSweeps=1) |
Make numSweeps constrained optimization sweeps over the given vertices with the quality function given as a template parameter. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter> | |
void | geom::geometricOptimizeConstrainedUsingMeanRatio (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const T maxConstraintError, const int numSweeps=1) |
Optimize the position of a set of vertices subject to a constant content constraint. | |
template<int N, bool A, typename T, typename V, typename IS, typename IntForIter> | |
void | geom::geometricOptimizeConstrainedUsingConditionNumber (IndSimpSetIncAdj< N, N, A, T, V, IS > *mesh, IntForIter begin, IntForIter end, const T maxConstraintError, const int numSweeps=1) |
Optimize the position of a set of vertices subject to a constant content constraint. |