Data Structures | Defines | Typedefs | Functions | Variables

bsfile.h File Reference

#include "pkvaria.h"
#include "pknum.h"
#include "pkgeom.h"
#include "multibs.h"
#include "bsmesh.h"
Include dependency graph for bsfile.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bsf_UserReaders

Defines

#define BSF_MAX_NAME_LENGTH   64
#define BSF_SYMB_EOF   0
#define BSF_SYMB_ERROR   1
#define BSF_SYMB_INTEGER   2
#define BSF_SYMB_FLOAT   3
#define BSF_SYMB_LBRACE   4
#define BSF_SYMB_RBRACE   5
#define BSF_SYMB_PLUS   6
#define BSF_SYMB_MINUS   7
#define BSF_SYMB_STRING   8
#define BSF_SYMB_COMMA   9
#define BSF_FIRST_KEYWORD   10
#define BSF_SYMB_BCURVE   10
#define BSF_SYMB_BPATCH   11
#define BSF_SYMB_BSCURVE   12
#define BSF_SYMB_BSHOLE   13
#define BSF_SYMB_BSMESH   14
#define BSF_SYMB_BSPATCH   15
#define BSF_SYMB_CLOSED   16
#define BSF_SYMB_CPOINTS   17
#define BSF_SYMB_CPOINTSMK   18
#define BSF_SYMB_DEGREE   19
#define BSF_SYMB_DIM   20
#define BSF_SYMB_DOMAIN   21
#define BSF_SYMB_FACETS   22
#define BSF_SYMB_HALFEDGES   23
#define BSF_SYMB_KNOTS   24
#define BSF_SYMB_KNOTS_U   25
#define BSF_SYMB_KNOTS_V   26
#define BSF_SYMB_NAME   27
#define BSF_SYMB_RATIONAL   28
#define BSF_SYMB_SIDES   29
#define BSF_SYMB_UNIFORM   30
#define BSF_SYMB_VERTICES   31
#define BSF_NKEYWORDS   22

Typedefs

typedef void(* bsf_BC_fptr )(void *userData, const char *name, int degree, const point4d *cpoints, int spdimen, boolean rational, byte *mk)
typedef void(* bsf_BSC_fptr )(void *userData, const char *name, int degree, int lastknot, const double *knots, boolean closed, const point4d *cpoints, int spdimen, boolean rational, byte *mk)
typedef void(* bsf_BP_fptr )(void *userData, const char *name, int udeg, int vdeg, int pitch, const point4d *cpoints, int spdimen, boolean rational, byte *mk)
typedef void(* bsf_BSP_fptr )(void *userData, const char *name, int udeg, int lastknotu, const double *knotsu, int vdeg, int lastknotv, const double *knotsv, boolean closed_u, boolean closed_v, int pitch, const point4d *cpoints, int spdimen, boolean rational, byte *mk)
typedef void(* bsf_BSM_fptr )(void *userData, const char *name, int degree, int nv, const BSMvertex *mv, const int *mvhei, const point4d *vc, int nhe, const BSMhalfedge *mhe, int nfac, const BSMfacet *mfac, const int *mfhei, int spdimen, boolean rational, byte *mkv)
typedef void(* bsf_BSH_fptr )(void *userData, const char *name, int hole_k, const double *knots, const point2d *domain_cp, const point4d *hole_cp, int spdimen, boolean rational, byte *mk)

Functions

boolean bsf_OpenInputFile (const char *filename)
void bsf_CloseInputFile (void)
void bsf_GetNextSymbol (void)
void bsf_PrintErrorLocation (void)
boolean bsf_ReadIntNumber (int *number)
boolean bsf_ReadDoubleNumber (double *number)
boolean bsf_ReadPointd (int maxcpdimen, double *point, int *cpdimen)
int bsf_ReadPointsd (int maxcpdimen, int maxnpoints, double *points, int *cpdimen)
int bsf_ReadPointsMK (int maxnpoints, byte *mk)
boolean bsf_ReadSpaceDim (int maxdim, int *spdimen)
boolean bsf_ReadCurveDegree (int maxdeg, int *degree)
boolean bsf_ReadPatchDegree (int maxdeg, int *udeg, int *vdeg)
boolean bsf_ReadKnotSequenced (int maxlastknot, int *lastknot, double *knots, boolean *closed)
boolean bsf_ReadBezierCurve4d (int maxdeg, int *deg, point4d *cpoints, int *spdimen, boolean *rational, byte *mk, char *name)
boolean bsf_ReadBSplineCurve4d (int maxdeg, int maxlastknot, int maxncpoints, int *deg, int *lastknot, double *knots, boolean *closed, point4d *cpoints, int *spdimen, boolean *rational, byte *mk, char *name)
boolean bsf_ReadBezierPatch4d (int maxdeg, int *udeg, int *vdeg, int *pitch, point4d *cpoints, int *spdimen, boolean *rational, byte *mk, char *name)
boolean bsf_ReadBSplinePatch4d (int maxdeg, int maxlastknot, int maxncpoints, int *udeg, int *lastknotu, double *knotsu, int *vdeg, int *lastknotv, double *knotsv, boolean *closed_u, boolean *closed_v, int *pitch, point4d *cpoints, int *spdimen, boolean *rational, byte *mk, char *name)
boolean bsf_ReadBSMesh4d (int maxnv, int maxnhe, int maxnfac, int *degree, int *nv, BSMvertex *mv, int *mvhei, point4d *vc, int *nhe, BSMhalfedge *mhe, int *nfac, BSMfacet *mfac, int *mfhei, int *spdimen, boolean *rational, byte *mkv, char *name)
boolean bsf_ReadBSplineHoled (int maxk, int *hole_k, double *knots, point2d *domain_cp, point4d *hole_cp, int *spdimen, boolean *rational, byte *mk, char *name)
void bsf_ClearReaders (bsf_UserReaders *readers)
void bsf_BC4ReadFuncd (bsf_UserReaders *readers, bsf_BC_fptr BCReader, int maxdeg)
void bsf_BSC4ReadFuncd (bsf_UserReaders *readers, bsf_BSC_fptr BSCReader, int maxdeg, int maxlastknot)
void bsf_BP4ReadFuncd (bsf_UserReaders *readers, bsf_BP_fptr BPReader, int maxdeg)
void bsf_BSP4ReadFuncd (bsf_UserReaders *readers, bsf_BSP_fptr BSPReader, int maxdeg, int maxlastknot)
void bsf_BSM4ReadFuncd (bsf_UserReaders *readers, bsf_BSM_fptr BSMReader, int maxdeg, int maxnv, int maxnhe, int maxnfac)
void bsf_BSH4ReadFuncd (bsf_UserReaders *readers, bsf_BSH_fptr BSHReader)
boolean bsf_ReadBSFiled (const char *filename, bsf_UserReaders *readers)
boolean bsf_OpenOutputFile (char *filename, boolean append)
void bsf_CloseOutputFile (void)
void bsf_WriteComment (char *comment)
void bsf_WriteDoubleNumber (double x)
void bsf_WritePointd (int cpdimen, const double *point)
void bsf_WritePointsd (int cpdimen, int cols, int rows, int pitch, const double *points)
void bsf_WritePointsMK (int npoints, const byte *mk)
void bsf_WriteSpaceDim (int spdimen, boolean rational)
void bsf_WriteCurveDegree (int degree)
void bsf_WritePatchDegree (int udeg, int vdeg)
void bsf_WriteKnotSequenced (int lastknot, const double *knots, boolean closed)
boolean bsf_WriteBezierCurved (int spdimen, int cpdimen, boolean rational, int deg, const double *cpoints, const byte *mk, const char *name)
boolean bsf_WriteBSplineCurved (int spdimen, int cpdimen, boolean rational, int deg, int lastknot, const double *knots, boolean closed, const double *cpoints, const byte *mk, const char *name)
boolean bsf_WriteBezierPatchd (int spdimen, int cpdimen, boolean rational, int udeg, int vdeg, int pitch, const double *cpoints, const byte *mk, const char *name)
boolean bsf_WriteBSplinePatchd (int spdimen, int cpdimen, boolean rational, int udeg, int lastknotu, const double *knotsu, int vdeg, int lastknotv, const double *knotsv, boolean closed_u, boolean closed_v, int pitch, const double *cpoints, const byte *mk, const char *name)
boolean bsf_WriteBSMeshd (int spdimen, int cpdimen, boolean rational, int degree, int nv, const BSMvertex *mv, const int *mvhei, const double *vc, int nhe, const BSMhalfedge *mhe, int nfac, const BSMfacet *mfac, const int *mfhei, const byte *mkv, const char *name)
boolean bsf_WriteBSplineHoled (int hole_k, const double *knots, const point2d *domain_cp, const point3d *hole_cp, const byte *mk, const char *name)

Variables

const char * bsf_keyword [BSF_NKEYWORDS]
FILE * bsf_input
FILE * bsf_output
int bsf_nextsymbol
int bsf_nextint
double bsf_nextfloat
char * bsf_namebuffer

Define Documentation

#define BSF_FIRST_KEYWORD   10
#define BSF_MAX_NAME_LENGTH   64
#define BSF_NKEYWORDS   22
#define BSF_SYMB_BCURVE   10
#define BSF_SYMB_BPATCH   11
#define BSF_SYMB_BSCURVE   12
#define BSF_SYMB_BSHOLE   13
#define BSF_SYMB_BSMESH   14
#define BSF_SYMB_BSPATCH   15
#define BSF_SYMB_CLOSED   16
#define BSF_SYMB_COMMA   9
#define BSF_SYMB_CPOINTS   17
#define BSF_SYMB_CPOINTSMK   18
#define BSF_SYMB_DEGREE   19
#define BSF_SYMB_DIM   20
#define BSF_SYMB_DOMAIN   21
#define BSF_SYMB_EOF   0
#define BSF_SYMB_ERROR   1
#define BSF_SYMB_FACETS   22
#define BSF_SYMB_FLOAT   3
#define BSF_SYMB_HALFEDGES   23
#define BSF_SYMB_INTEGER   2
#define BSF_SYMB_KNOTS   24
#define BSF_SYMB_KNOTS_U   25
#define BSF_SYMB_KNOTS_V   26
#define BSF_SYMB_LBRACE   4
#define BSF_SYMB_MINUS   7
#define BSF_SYMB_NAME   27
#define BSF_SYMB_PLUS   6
#define BSF_SYMB_RATIONAL   28
#define BSF_SYMB_RBRACE   5
#define BSF_SYMB_SIDES   29
#define BSF_SYMB_STRING   8
#define BSF_SYMB_UNIFORM   30
#define BSF_SYMB_VERTICES   31

Typedef Documentation

typedef void(* bsf_BC_fptr)(void *userData, const char *name, int degree, const point4d *cpoints, int spdimen, boolean rational, byte *mk)
typedef void(* bsf_BP_fptr)(void *userData, const char *name, int udeg, int vdeg, int pitch, const point4d *cpoints, int spdimen, boolean rational, byte *mk)
typedef void(* bsf_BSC_fptr)(void *userData, const char *name, int degree, int lastknot, const double *knots, boolean closed, const point4d *cpoints, int spdimen, boolean rational, byte *mk)
typedef void(* bsf_BSH_fptr)(void *userData, const char *name, int hole_k, const double *knots, const point2d *domain_cp, const point4d *hole_cp, int spdimen, boolean rational, byte *mk)
typedef void(* bsf_BSM_fptr)(void *userData, const char *name, int degree, int nv, const BSMvertex *mv, const int *mvhei, const point4d *vc, int nhe, const BSMhalfedge *mhe, int nfac, const BSMfacet *mfac, const int *mfhei, int spdimen, boolean rational, byte *mkv)
typedef void(* bsf_BSP_fptr)(void *userData, const char *name, int udeg, int lastknotu, const double *knotsu, int vdeg, int lastknotv, const double *knotsv, boolean closed_u, boolean closed_v, int pitch, const point4d *cpoints, int spdimen, boolean rational, byte *mk)

Function Documentation

void bsf_BC4ReadFuncd ( bsf_UserReaders readers,
bsf_BC_fptr  BCReader,
int  maxdeg 
)
void bsf_BP4ReadFuncd ( bsf_UserReaders readers,
bsf_BP_fptr  BPReader,
int  maxdeg 
)
void bsf_BSC4ReadFuncd ( bsf_UserReaders readers,
bsf_BSC_fptr  BSCReader,
int  maxdeg,
int  maxlastknot 
)
void bsf_BSH4ReadFuncd ( bsf_UserReaders readers,
bsf_BSH_fptr  BSHReader 
)
void bsf_BSM4ReadFuncd ( bsf_UserReaders readers,
bsf_BSM_fptr  BSMReader,
int  maxdeg,
int  maxnv,
int  maxnhe,
int  maxnfac 
)
void bsf_BSP4ReadFuncd ( bsf_UserReaders readers,
bsf_BSP_fptr  BSPReader,
int  maxdeg,
int  maxlastknot 
)
void bsf_ClearReaders ( bsf_UserReaders readers  ) 
void bsf_CloseInputFile ( void   ) 
void bsf_CloseOutputFile ( void   ) 
void bsf_GetNextSymbol ( void   ) 
boolean bsf_OpenInputFile ( const char *  filename  ) 
boolean bsf_OpenOutputFile ( char *  filename,
boolean  append 
)
void bsf_PrintErrorLocation ( void   ) 
boolean bsf_ReadBezierCurve4d ( int  maxdeg,
int *  deg,
point4d cpoints,
int *  spdimen,
boolean rational,
byte mk,
char *  name 
)
boolean bsf_ReadBezierPatch4d ( int  maxdeg,
int *  udeg,
int *  vdeg,
int *  pitch,
point4d cpoints,
int *  spdimen,
boolean rational,
byte mk,
char *  name 
)
boolean bsf_ReadBSFiled ( const char *  filename,
bsf_UserReaders readers 
)
boolean bsf_ReadBSMesh4d ( int  maxnv,
int  maxnhe,
int  maxnfac,
int *  degree,
int *  nv,
BSMvertex mv,
int *  mvhei,
point4d vc,
int *  nhe,
BSMhalfedge mhe,
int *  nfac,
BSMfacet mfac,
int *  mfhei,
int *  spdimen,
boolean rational,
byte mkv,
char *  name 
)
boolean bsf_ReadBSplineCurve4d ( int  maxdeg,
int  maxlastknot,
int  maxncpoints,
int *  deg,
int *  lastknot,
double *  knots,
boolean closed,
point4d cpoints,
int *  spdimen,
boolean rational,
byte mk,
char *  name 
)
boolean bsf_ReadBSplineHoled ( int  maxk,
int *  hole_k,
double *  knots,
point2d domain_cp,
point4d hole_cp,
int *  spdimen,
boolean rational,
byte mk,
char *  name 
)
boolean bsf_ReadBSplinePatch4d ( int  maxdeg,
int  maxlastknot,
int  maxncpoints,
int *  udeg,
int *  lastknotu,
double *  knotsu,
int *  vdeg,
int *  lastknotv,
double *  knotsv,
boolean closed_u,
boolean closed_v,
int *  pitch,
point4d cpoints,
int *  spdimen,
boolean rational,
byte mk,
char *  name 
)
boolean bsf_ReadCurveDegree ( int  maxdeg,
int *  degree 
)
boolean bsf_ReadDoubleNumber ( double *  number  ) 
boolean bsf_ReadIntNumber ( int *  number  ) 
boolean bsf_ReadKnotSequenced ( int  maxlastknot,
int *  lastknot,
double *  knots,
boolean closed 
)
boolean bsf_ReadPatchDegree ( int  maxdeg,
int *  udeg,
int *  vdeg 
)
boolean bsf_ReadPointd ( int  maxcpdimen,
double *  point,
int *  cpdimen 
)
int bsf_ReadPointsd ( int  maxcpdimen,
int  maxnpoints,
double *  points,
int *  cpdimen 
)
int bsf_ReadPointsMK ( int  maxnpoints,
byte mk 
)
boolean bsf_ReadSpaceDim ( int  maxdim,
int *  spdimen 
)
boolean bsf_WriteBezierCurved ( int  spdimen,
int  cpdimen,
boolean  rational,
int  deg,
const double *  cpoints,
const byte mk,
const char *  name 
)
boolean bsf_WriteBezierPatchd ( int  spdimen,
int  cpdimen,
boolean  rational,
int  udeg,
int  vdeg,
int  pitch,
const double *  cpoints,
const byte mk,
const char *  name 
)
boolean bsf_WriteBSMeshd ( int  spdimen,
int  cpdimen,
boolean  rational,
int  degree,
int  nv,
const BSMvertex mv,
const int *  mvhei,
const double *  vc,
int  nhe,
const BSMhalfedge mhe,
int  nfac,
const BSMfacet mfac,
const int *  mfhei,
const byte mkv,
const char *  name 
)
boolean bsf_WriteBSplineCurved ( int  spdimen,
int  cpdimen,
boolean  rational,
int  deg,
int  lastknot,
const double *  knots,
boolean  closed,
const double *  cpoints,
const byte mk,
const char *  name 
)
boolean bsf_WriteBSplineHoled ( int  hole_k,
const double *  knots,
const point2d domain_cp,
const point3d hole_cp,
const byte mk,
const char *  name 
)
boolean bsf_WriteBSplinePatchd ( int  spdimen,
int  cpdimen,
boolean  rational,
int  udeg,
int  lastknotu,
const double *  knotsu,
int  vdeg,
int  lastknotv,
const double *  knotsv,
boolean  closed_u,
boolean  closed_v,
int  pitch,
const double *  cpoints,
const byte mk,
const char *  name 
)
void bsf_WriteComment ( char *  comment  ) 
void bsf_WriteCurveDegree ( int  degree  ) 
void bsf_WriteDoubleNumber ( double  x  ) 
void bsf_WriteKnotSequenced ( int  lastknot,
const double *  knots,
boolean  closed 
)
void bsf_WritePatchDegree ( int  udeg,
int  vdeg 
)
void bsf_WritePointd ( int  cpdimen,
const double *  point 
)
void bsf_WritePointsd ( int  cpdimen,
int  cols,
int  rows,
int  pitch,
const double *  points 
)
void bsf_WritePointsMK ( int  npoints,
const byte mk 
)
void bsf_WriteSpaceDim ( int  spdimen,
boolean  rational 
)

Variable Documentation

FILE* bsf_input
const char* bsf_keyword[BSF_NKEYWORDS]
double bsf_nextfloat
FILE * bsf_output