37 #ifndef Mesquite_ConjugateGradient_hpp
38 #define Mesquite_ConjugateGradient_hpp
40 #include "VertexMover.hpp"
41 #include "ObjectiveFunction.hpp"
42 #include "MsqMeshEntity.hpp"
43 #include "PatchData.hpp"
44 #include "QualityImprover.hpp"
53 class ConjugateGradient :
public VertexMover
62 int patch_param1=0,
int patch_param2=0);
void set_debugging_level(int new_lev)
Just for debugging purposes or for obtaining more data during the optimization process.
virtual void terminate_mesh_iteration(PatchData &pd, MsqError &err)
virtual void optimize_vertex_positions(PatchData &pd, MsqError &err)
Used to hold the error state and return it to the application.
Vector3D is the object that effeciently stores information about about three-deminsional vectors...
double get_step(PatchData &pd, double f0, int &j, MsqError &err)
Returns the step distance to take in the search direction.
virtual ~ConjugateGradient()
PatchDataVerticesMemento * pMemento
virtual void set_patch_type(PatchData::PatchType type, MsqError &err, int patch_param1=0, int patch_param2=0)
Set the patch type.
virtual void cleanup()
Delete arrays initially created in initialize().
PatchType
Tells MeshSet how to retrieve the mesh entities that will be stored in PatchData. ...
Vector3D * fGrad
Culls the vertex list free_vertex_list.
virtual void initialize_mesh_iteration(PatchData &pd, MsqError &err)
virtual void initialize(PatchData &pd, MsqError &err)
Initialize data for smoothing process.
Contains a copy of the coordinates of a PatchData.
ConjugateGradient(ObjectiveFunction *objective, MsqError &err)