Typedefs | Functions

gmi_analytic.h File Reference

GMI analytic model interface. More...

Go to the source code of this file.

Typedefs

typedef void(* gmi_analytic_fun )(double const p[2], double x[3], void *u)
 the analytic parameterization of a model boundary
typedef void(* gmi_reparam_fun )(double const from[2], double to[2], void *u)
 a re-parametrization from one entity to another

Functions

struct gmi_modelgmi_make_analytic (void)
 make an empty analytic model
struct gmi_ent * gmi_add_analytic (struct gmi_model *m, int dim, int tag, gmi_analytic_fun f, int *periodic, double(*ranges)[2], void *user_data)
 add an entity to the analytic model
void * gmi_analytic_data (struct gmi_model *m, struct gmi_ent *e)
 get the analytic user data
void gmi_add_analytic_reparam (struct gmi_model *m, struct agm_use u, gmi_reparam_fun f, void *user_data)
 add a re-parameterization to the model
void * gmi_analytic_reparam_data (struct gmi_model *m, struct agm_use u)
 get the re-parameterization user data
void gmi_add_analytic_cell (struct gmi_model *m, int dim, int tag)
 create a non-parametric model entity
void gmi_add_analytic_region (struct gmi_model *m, int tag)
 gmi_add_analytic_cell(m, 3, tag)

Detailed Description

GMI analytic model interface.

Definition in file gmi_analytic.h.


Typedef Documentation

typedef void(* gmi_analytic_fun)(double const p[2], double x[3], void *u)

the analytic parameterization of a model boundary

Parameters:
p the input parametric coordinates. see gmi_eval for the format of this array
x the resuting 3D point in space
u pointer to user data

Definition at line 27 of file gmi_analytic.h.

typedef void(* gmi_reparam_fun)(double const from[2], double to[2], void *u)

a re-parametrization from one entity to another

Parameters:
from the coordinates in the input parametric space
to the coordinates in the output parametric space
u extra user-provided data

Definition at line 33 of file gmi_analytic.h.


Function Documentation

struct gmi_ent* gmi_add_analytic ( struct gmi_model m,
int  dim,
int  tag,
gmi_analytic_fun  f,
int *  periodic,
double(*)  ranges[2],
void *  user_data 
) [read]

add an entity to the analytic model

Parameters:
m the analytic model
dim the dimension of the entity
tag the dimension-unique tag for the entity
f the analytic function defining the entity. set to NULL for interior entities.
periodic for each dimension (d) of the entity, gmi_periodic will return periodic[d]
ranges for each dimension (d) of the entity, gmi_range will return ranges[d]
user_data pointer that will be passed to analytic function for this entity
void gmi_add_analytic_cell ( struct gmi_model m,
int  dim,
int  tag 
)

create a non-parametric model entity

this creates a highest-dimensional model entity. typically users do not create a parametric definition of the 3D regions or 2D faces, since this is equivalent to the analytic function.

void gmi_add_analytic_region ( struct gmi_model m,
int  tag 
)

gmi_add_analytic_cell(m, 3, tag)

this is provided as a bit of backwards compatibility

void gmi_add_analytic_reparam ( struct gmi_model m,
struct agm_use  u,
gmi_reparam_fun  f,
void *  user_data 
)

add a re-parameterization to the model

given a use (u) which is a piece of a boundary, define the map between the parametric space of the used entity and the parametric space of the using entity.

Parameters:
m the analytic model
u the model use (see agm.h for how to build this)
f the reparameterization code
user_data extra data for the re-parameterization code
void* gmi_analytic_data ( struct gmi_model m,
struct gmi_ent *  e 
)

get the analytic user data

this function returns the pointer passed as (user_data) to gmi_add_analytic when creating entity (e)

void* gmi_analytic_reparam_data ( struct gmi_model m,
struct agm_use  u 
)

get the re-parameterization user data

this function returns the pointer passed as (user_data) to gmi_add_analytic_reparam when creating entity (e)

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines