module Qmf: sig end
'new_gmap : unit -> gmap
new_gmap()
creates a new empty gmap g
. 'copy_gmap : gmap -> 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
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. 'set_coord_of_vertex : ncell -> seq
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. 'load_moka : gmap -> string -> seq
'save_moka : gmap -> string
'normal_form : gmap -> string
'norm : gmap
'add_ncell : gmap -> int -> ncell
add_ncell(g, n)
creates a new ncell c
of dimension n
in the gmap g
. 'add_vertex : gmap -> ncell
add_vertex(g)
creates a new ncell c
of dimension 0 in the gmap g
. 'add_edge : gmap -> ncell
add_edge(g)
creates a new ncell c
of dimension 1 in the gmap g
. 'add_face : gmap -> ncell
add_face(g)
creates a new ncell c
of dimension 2 in the gmap g
. 'add_volume : gmap -> ncell
add_volume(g)
creates a new ncell c
of dimension 3 in the gmap g
. 'add_polygon : gmap -> int -> ncell
add_polygon(g, n)
creates a new polygon c
with n
sides in the gmap g
. 'add_sphere : gmap -> int -> int -> seq
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
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
add_polyline(g, n)
creates a new polyline c
with n
verteces in the gmap g
. 'insert_vertex : ncell -> seq
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
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
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
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
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_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). 'delete_ncell : ncell -> seq
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). 'glue2FacesBy4Verteces : ncell ->
ncell -> ncell -> ncell -> ncell -> ncell