28 virtual bool shouldSplit(
Entity* edge) = 0;
29 virtual bool shouldCollapse(
Entity* edge) = 0;
30 virtual void interpolate(
34 virtual void getTransform(
38 virtual double getWeight(
Entity* e) = 0;
41 struct IdentitySizeField :
public SizeField
43 IdentitySizeField(
Mesh* m);
46 bool shouldCollapse(
Entity*);
59 struct UniformRefiner :
public IdentitySizeField
61 UniformRefiner(
Mesh* m):
92 SizeField* makeSizeField(
Mesh* m, apf::Field* sizes, apf::Field* frames,
93 bool logInterpolation =
false);
95 bool logInterpolation =
false);
96 SizeField* makeSizeField(
Mesh* m, apf::Field* size);
99 double getAverageEdgeLength(
Mesh* m);
100 double getMaximumEdgeLength(
Mesh* m, SizeField* sf = 0);
virtual double getValue(Entity *vert)=0
get the desired element size at this vertex
User-defined Anisotropic size function.
apf::Matrix3x3 Matrix
convenient matrix name
convenience wrapper over apf::Matrix<3,3>
apf::Vector3 Vector
convenient vector name
double measure(MeshElement *e)
Measures the volume, area, or length of a Mesh Element.
virtual void getValue(Entity *vert, Matrix &r, Vector &h)=0
get the size field value at this vertex
User-defined Isotropic size function.
apf::Mesh2 Mesh
convenient mesh name
mesh functions for MeshAdapt
convenience wrapper over apf::Vector<3>
apf::MeshEntity Entity
convenient mesh entity name
Extended mesh interface for modification.
VectorElement MeshElement
Mesh Elements represent the mesh coordinate vector field.