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;
39 virtual void onRefine(
42 virtual void onCavity(
45 virtual int getTransferDimension();
46 virtual bool hasNodesOn(
int dimension);
49 struct IdentitySizeField :
public SizeField
51 IdentitySizeField(
Mesh* m);
54 bool shouldCollapse(
Entity*);
68 struct UniformRefiner :
public IdentitySizeField
70 UniformRefiner(
Mesh* m):
101 SizeField* makeSizeField(
Mesh* m, apf::Field* sizes, apf::Field* frames,
102 bool logInterpolation =
false);
104 bool logInterpolation =
false);
105 SizeField* makeSizeField(
Mesh* m, apf::Field* size);
108 double getAverageEdgeLength(
Mesh* m);
109 double getMaximumEdgeLength(
Mesh* m, SizeField* sf = 0);
convenience wrapper over apf::Matrix<3,3>
Extended mesh interface for modification.
convenience wrapper over apf::Vector<3>
User-defined Anisotropic size function.
virtual void getValue(Entity *vert, Matrix &r, Vector &h)=0
get the size field value at this vertex
User-defined Isotropic size function.
virtual double getValue(Entity *vert)=0
get the desired element size at this vertex
mesh functions for MeshAdapt
VectorElement MeshElement
Mesh Elements represent the mesh coordinate vector field.
double measure(MeshElement *e)
Measures the volume, area, or length of a Mesh Element.
apf::MeshEntity Entity
convenient mesh entity name
apf::Mesh2 Mesh
convenient mesh name
apf::Matrix3x3 Matrix
convenient matrix name
apf::DynamicArray< Entity * > EntityArray
convenient mesh entity array name
apf::Vector3 Vector
convenient vector name