BRL-CAD
libpc (Parametrics and Constraints)
Collaboration diagram for libpc (Parametrics and Constraints):

Modules

 Constraint Solution
 
 EBNF Parser
 
 Database Input/Output/Updation
 

Files

file  pc.h
 

Data Structures

struct  pc_param
 
struct  pc_constraint_fp
 
struct  pc_constrnt
 
struct  pc_pc_set
 

Macros

#define PC_PCSET_PUSHP(_pcsp, _par)    BU_LIST_PUSH(&(_pcsp->ps->l),&(_par->l));
 
#define PC_PCSET_PUSHC(_pcsp, _con)    BU_LIST_PUSH(&(_pcsp->cs->l),&(_con->l));
 
#define PC_DB_FASTF_T   1
 
#define PC_DB_POINT_T   2
 
#define PC_DB_VECTOR_T   3
 
#define PC_DB_BYSTRUCT   1
 
#define PC_DB_BYEXPR   2
 

Functions

void pc_init_pcset (struct pc_pc_set *pcs)
 
void pc_free_pcset (struct pc_pc_set *pcs)
 
void pc_free_constraint (struct pc_constrnt *c)
 
void pc_getparameter (struct pc_param **p, int t)
 
void pc_pushparam_expr (struct pc_pc_set *pcsp, const char *name, const char *str)
 
void pc_pushparam_struct (struct pc_pc_set *pcs, const char *name, int type, void *ptr)
 
void pc_getconstraint_expr (struct pc_constrnt **c)
 
void pc_getconstraint_struct (struct pc_constrnt **c, int nargs)
 
void pc_pushconstraint_expr (struct pc_pc_set *pcsp, const char *name, const char *str)
 
void pc_pushconstraint_struct (struct pc_pc_set *pcs, const char *name, int nargs, int dimension, int(*fp)(double **args), const char **args)
 
void pc_pushconstraint_struct1 (struct pc_pc_set *pcs, struct pc_constrnt *c)
 
void pc_pushconstraint (struct pc_pc_set *pcs, const char *str)
 
int pc_isperpendicular (double **v)
 
void pc_mk_isperpendicular (struct pc_constrnt **c, const char *name, const char **args)
 
int pc_ismodpositive (double **v)
 
void pc_mk_ismodpositive (struct pc_constrnt **c, const char *name, const char **args)
 

Detailed Description

Macro Definition Documentation

◆ PC_PCSET_PUSHP

#define PC_PCSET_PUSHP (   _pcsp,
  _par 
)     BU_LIST_PUSH(&(_pcsp->ps->l),&(_par->l));

Definition at line 56 of file pc.h.

◆ PC_PCSET_PUSHC

#define PC_PCSET_PUSHC (   _pcsp,
  _con 
)     BU_LIST_PUSH(&(_pcsp->cs->l),&(_con->l));

Definition at line 58 of file pc.h.

◆ PC_DB_FASTF_T

#define PC_DB_FASTF_T   1

Definitions for data storage and transfer type information

Definition at line 62 of file pc.h.

◆ PC_DB_POINT_T

#define PC_DB_POINT_T   2

Definition at line 63 of file pc.h.

◆ PC_DB_VECTOR_T

#define PC_DB_VECTOR_T   3

Definition at line 64 of file pc.h.

◆ PC_DB_BYSTRUCT

#define PC_DB_BYSTRUCT   1

Definition at line 66 of file pc.h.

◆ PC_DB_BYEXPR

#define PC_DB_BYEXPR   2

Definition at line 67 of file pc.h.

Function Documentation

◆ pc_init_pcset()

void pc_init_pcset ( struct pc_pc_set pcs)

◆ pc_free_pcset()

void pc_free_pcset ( struct pc_pc_set pcs)

◆ pc_free_constraint()

void pc_free_constraint ( struct pc_constrnt c)

◆ pc_getparameter()

void pc_getparameter ( struct pc_param **  p,
int  t 
)

◆ pc_pushparam_expr()

void pc_pushparam_expr ( struct pc_pc_set pcsp,
const char *  name,
const char *  str 
)

◆ pc_pushparam_struct()

void pc_pushparam_struct ( struct pc_pc_set pcs,
const char *  name,
int  type,
void *  ptr 
)

◆ pc_getconstraint_expr()

void pc_getconstraint_expr ( struct pc_constrnt **  c)

◆ pc_getconstraint_struct()

void pc_getconstraint_struct ( struct pc_constrnt **  c,
int  nargs 
)

◆ pc_pushconstraint_expr()

void pc_pushconstraint_expr ( struct pc_pc_set pcsp,
const char *  name,
const char *  str 
)

◆ pc_pushconstraint_struct()

void pc_pushconstraint_struct ( struct pc_pc_set pcs,
const char *  name,
int  nargs,
int  dimension,
int(*)(double **args)  fp,
const char **  args 
)

◆ pc_pushconstraint_struct1()

void pc_pushconstraint_struct1 ( struct pc_pc_set pcs,
struct pc_constrnt c 
)

◆ pc_pushconstraint()

void pc_pushconstraint ( struct pc_pc_set pcs,
const char *  str 
)

◆ pc_isperpendicular()

int pc_isperpendicular ( double **  v)

◆ pc_mk_isperpendicular()

void pc_mk_isperpendicular ( struct pc_constrnt **  c,
const char *  name,
const char **  args 
)

◆ pc_ismodpositive()

int pc_ismodpositive ( double **  v)

◆ pc_mk_ismodpositive()

void pc_mk_ismodpositive ( struct pc_constrnt **  c,
const char *  name,
const char **  args 
)