Class domain


Code: domain/domain.mpl

An instance represents the fundamental domain in a cromulent surface

Field: type::string = "abstract"

A string describing the type of domain (e.g. E for a member of the embedded family)

Field: dim::posint

All domains are expected to be subsets of $\mathbb{R}^d$ for some integer $d$, stored in this field.

Field: point_class_name

Points in the domain will be represented by instances of a subclass of the abstract class domain_point. The name of the relevant subclass is stored in this field, and the table representing the subclass is stored in the point_class field. Both fields should be set using the set_point_class method. Analogous comments apply to the fields edge_class_name, edge_class, face_class_name, face_class, grid_class_name and grid_class.

Field: point_class

Field: edge_class_name
Field: edge_class
Field: face_class_name
Field: face_class
Field: grid_class_name
Field: grid_class
Constructor: `new/domain`()

Method: set_point_class(classname::string)::void
Method: set_edge_class(classname::string)::void
Method: set_face_class(classname::string)::void
Method: set_grid_class(classname::string)::void
Method: new_point()::void

This method returns a new instance of the relevant point class.


Method: new_edge(P0,P1)::void

This method returns a new instance of the relevant edge class.


Method: new_face(S0,S1,S2,s_)::void

This method returns a new instance of the relevant face class.


Method: new_grid()::void

This method returns a new instance of the relevant grid class.