Module Qmf


module Qmf: sig  end
The qmf collection (chain on ncell)

 'new_gmap : unit -> gmap
Creates a new empty gmap. new_gmap() creates a new empty gmap g.
 'copy_gmap : gmap -> gmap
Returns a copy of a gmap. copy_gmap(g) returns a copy of the gmap g.
 'get_gmap_from : qmf -> gmap
ncell -> gmap

Returns the gmap of a ncell or a qmf. get_gmap_from(x) returns the gmap containing the ncell x, or the gmap the qmf x is built on.

 'get_coord_from_vertex : ncell -> seq
Returns the embedding of a vertex in libgmapkernel. get_coord_from_vertex(v) returns the sequence (x,y,z) of float that is the embedding associated to v in libgmapkernel. This embedding is usefull to manipulate ASCCII exchange formted files of Moka.
See : save_moka
See : load_moka
 'set_coord_of_vertex : ncell -> seq
Modifys the embedding of a vertex in libgmapkernel. set_coord_from_vertex(v,s) updates the embedding associated to the vertex v. The new value is given by the sequence s ; s must be a sequence of 3 numbers (int or float) like (x,y,z). Theses value represent the coordinates of s in a 3-dimensionnal Euclidean space. This embedding is usefull to manipulate ASCCII exchange formted files of Moka.
See : save_moka
See : load_moka
 'load_moka : gmap -> string -> seq
Loads in a gmap an ASCII Moka file
 'save_moka : gmap -> string
Saves a gmap in an ASCII Moka file
 'normal_form : gmap -> string
No comment
 'norm : gmap
No comment
 'add_ncell : gmap -> int -> ncell
Adds a new ncell. add_ncell(g, n) creates a new ncell c of dimension n in the gmap g.
 'add_vertex : gmap -> ncell
Adds a new vertex. add_vertex(g) creates a new ncell c of dimension 0 in the gmap g.
 'add_edge : gmap -> ncell
Adds a new edge. add_edge(g) creates a new ncell c of dimension 1 in the gmap g.
 'add_face : gmap -> ncell
Adds a new face. add_face(g) creates a new ncell c of dimension 2 in the gmap g.
 'add_volume : gmap -> ncell
Adds a new volume. add_volume(g) creates a new ncell c of dimension 3 in the gmap g.
 'add_polygon : gmap -> int -> ncell
Adds a new polygon. add_polygon(g, n) creates a new polygon c with n sides in the gmap g.
 'add_sphere : gmap -> int -> int -> seq
Adds a new sphere. add_sphere(g, m, p) creates a new sphere s with m meridians ans p parallels in the gmap g.
 'add_square : gmap -> int -> int -> int -> ncell
Adds a new square. add_square(g, ax, ay, dim) creates a new eventually meshed square. ax is the number of subdivions along the first dimension, and ay the number of subdivions along the second one. dim (= 0 or 2) is the dimension of the mesh ; if dim is null, the values ax and ay don't matter.
 'add_polyline : gmap -> int -> ncell
Adds a new polyline. add_polyline(g, n) creates a new polyline c with n verteces in the gmap g.
 'insert_vertex : ncell -> seq
Splits an edge into two edges separated by a new vertex. insert_vertex(e) splits into two edges e1 and e2 separated by a new vertex v, and returns the sequence (v,e1,e2).
 'insert_edge : ncell -> ncell -> seq
Splits a face into two faces separated by a new edge. insert_edge(v1,v2) splits into two faces f1 and f2 separated by a new vertex e between v1 and v2 ; theses vertices must belong to the same face. Then it returns the sequence (e,v1,v2,f1,f2) where v1 and v2 have been updated.
 'insert_face : ncell -> seq -> seq
Splits a volume into two volumes separated by a new face. insert_face(v,(e1,e2,...,en)) splits the volume v into two volumes v1 and v2 separated by a new face f whose faces are the sequence (e1,e2,...,en) ; theses edges must belong to the same volume. Then it returns the sequence (f,v1,v2,e1,e2,...en) where e1,e2,...,en have been updated.
 'create_edge : ncell -> ncell -> seq
Links 2 vertices by a new edge when it's possible. create_edge(v1,v2) creates a new edge between v1 and v2 when it's possible. Then it returns the sequence (e,v1,v2) where v1 and v2 have been updated.
 'create_face : seq -> seq
Creates a new face from given indepdendant edges. create_face(((v1,v2)::(v3,v4)::...::(vn-1,vn+1)::seq:())) creates the face whose faces are the following edges : (v2,v3), (v4,v5), ..., (vn,v1). Theses edges, defined here by their vertices, must exist in the gmap and be alpha-2 and alpha-3 free. Note of the vertices in the sequence is important to create the face.
 'create_volume : seq -> unit
???
 'remove_ncell : ncell -> ncell
Remove a ncell. remove_ncell(c) removes a ncell of dimension 0, 1 or 2 that has exactly 2 cofaces. This remove is done by merging the 2 cofaces. It returns the newly created face. This operation is the reverse one of insert_(vertex|edge|face).
See : insert_vertex
See : insert_edge
See : insert_face
 'delete_ncell : ncell -> seq
Deletes a ncell. delete_ncell(c) deletes a ncell of dimension 1, 2 or 3 that has exactly 1 coface. This deletion is done by searching all faces and separating them to the volume not exist. At the end, each face is independant of the others. It returns the sequence of faces. This operation is the reverse one of create_(edge|face).
See : create_edge
See : create_face
 'glue2FacesBy4Verteces : ncell ->
ncell -> ncell -> ncell -> ncell -> ncell
???