Data Structures | Defines | Typedefs | Functions | Variables

pkvaria.h File Reference

#include <sys/times.h>
Include dependency graph for pkvaria.h:

Go to the source code of this file.

Data Structures

struct  char2
struct  short2
struct  short3
struct  int2
struct  int3
struct  float2
struct  double2
struct  float3
struct  double3
struct  float4
struct  double4
struct  Box2i
struct  Box2s
struct  pkv_queue
struct  xpoint

Defines

#define false   0
#define true   1
#define MAX_1BYTE   0xFF
#define MAX_2BYTE   0xFFFF
#define MAX_3BYTE   0xFFFFFF
#define MAX_4BYTE   0xFFFFFFFF
#define EXP1   2.7182818284590452353
#define PI   3.1415926535897932384
#define SQRT2   1.4142135623730950488
#define SQRT3   1.7320508075688772935
#define TAU   0.6180339887498948482
#define min(a, b)   ((a)<(b) ? (a) : (b))
#define max(a, b)   ((a)>(b) ? (a) : (b))
#define LIB_PKVARIA   0
#define LIB_PKNUM   1
#define LIB_GEOM   2
#define LIB_CAMERA   3
#define LIB_PSOUT   4
#define LIB_MULTIBS   5
#define LIB_RAYBEZ   6
#define LIB_EGHOLE   7
#define LIB_G1BLENDING   8
#define LIB_G2BLENDING   9
#define LIB_BSFILE   10
#define LIB_BSMESH   11
#define LIB_XGEDIT   12
#define pkv_GetScratchMemi(size)   (int*)pkv_GetScratchMem ( (size)*sizeof(int) )
#define pkv_FreeScratchMemi(size)   pkv_FreeScratchMem ( (size)*sizeof(int) )
#define pkv_ScratchMemAvaili()   (pkv_ScratchMemAvail()/sizeof(int))
#define pkv_GetScratchMemf(size)   (float*)pkv_GetScratchMem ( (size)*sizeof(float) )
#define pkv_FreeScratchMemf(size)   pkv_FreeScratchMem ( (size)*sizeof(float) )
#define pkv_ScratchMemAvailf()   (pkv_ScratchMemAvail()/sizeof(float))
#define pkv_GetScratchMemd(size)   (double*)pkv_GetScratchMem ( (size)*sizeof(double) )
#define pkv_FreeScratchMemd(size)   pkv_FreeScratchMem ( (size)*sizeof(double) )
#define pkv_ScratchMemAvaild()   (pkv_ScratchMemAvail()/sizeof(double))
#define ID_UNSIGNED   0
#define ID_SIGNED_INT   1
#define ID_IEEE754_FLOAT   2
#define ID_IEEE754_DOUBLE   3
#define ID_IEEE754_LONG_DOUBLE   4
#define SORT_OK   1
#define SORT_NO_MEMORY   0
#define SORT_BAD_DATA   2
#define pkv_ZeroMatf(nrows, rowlen, pitch, data)
#define pkv_Rearrangef(nrows, rowlen, inpitch, outpitch, data)
#define pkv_Selectf(nrows, rowlen, inpitch, outpitch, indata, outdata)
#define pkv_Movef(nrows, rowlen, pitch, shift, data)
#define pkv_ReverseMatf(nrows, rowlen, pitch, data)
#define pkv_ZeroMatd(nrows, rowlen, pitch, data)
#define pkv_Rearranged(nrows, rowlen, inpitch, outpitch, data)
#define pkv_Selectd(nrows, rowlen, inpitch, outpitch, indata, outdata)
#define pkv_Moved(nrows, rowlen, pitch, shift, data)
#define pkv_ReverseMatd(nrows, rowlen, pitch, data)
#define pkv_TransposeMatrixf(nrows, ncols, inpitch, indata, outpitch, outdata)
#define pkv_TransposeMatrixd(nrows, ncols, inpitch, indata, outpitch, outdata)
#define PKV_MALLOC(ptr, size)
#define PKV_FREE(ptr)
#define PKV_BUFSIZE   256
#define PKV_FLUSH   { _pkv_OutputPixels ( _pkv_pixbuf, _pkv_npix ); _pkv_npix = 0; }
#define PKV_PIXEL(p, px)   { (px).x = (short)((p).x/(p).z+0.5); (px).y = (short)((p).y/(p).z+0.5); }
#define PKV_SETPIXEL(xx, yy)

Typedefs

typedef unsigned char boolean
typedef unsigned char byte
typedef struct char2 point2c
typedef struct char2 vector2c
typedef struct short2 point2s
typedef struct short2 vector2s
typedef struct short3 point3s
typedef struct short3 vector3s
typedef struct int2 point2i
typedef struct int2 vector2i
typedef struct int3 point3i
typedef struct int3 vector3i
typedef struct float2 point2f
typedef struct float2 vector2f
typedef struct double2 point2d
typedef struct double2 vector2d
typedef struct float3 point3f
typedef struct float3 vector3f
typedef struct double3 point3d
typedef struct double3 vector3d
typedef struct float4 point4f
typedef struct float4 vector4f
typedef struct double4 point4d
typedef struct double4 vector4d
typedef struct Box2i Box2i
typedef struct Box2s Box2s

Functions

void pkv_SignalError (int module, int errno, const char *errstr)
void pkv_SetErrorHandler (void(*ehandler)(int module, int errno, const char *errstr))
char pkv_InitScratchMem (size_t size)
void pkv_DestroyScratchMem (void)
void PrintScratchMemData (void)
double pkv_SqAngle (double x, double y)
void pkv_RadToDegreeStr (double angle, char *txt)
boolean pkv_DegreeStrToRad (char *txt, double *angle)
int pkv_Binom (int n, int k)
char pkv_SortKernel (size_t key_size, char key_type, size_t item_length, size_t key_offset, unsigned int num_data, void *data, unsigned int *permut)
char pkv_SortPermute (size_t item_length, unsigned int num_data, void *data, unsigned int *permut)
void pkv_SortPermute2 (unsigned int num_data, size_t item_length1, void *data1, size_t item_length2, void *data2, unsigned int *permut)
char pkv_SortFast (size_t key_size, char key_type, size_t item_length, size_t key_offset, unsigned int num_data, void *data)
void pkv_QuickSort (int n, void *usrptr, boolean(*less)(int i, int j, void *usrptr), void(*swap)(int i, int j, void *usrptr))
pkv_queuepkv_InitQueue (int nmax, int itemsize)
void pkv_ResetQueue (pkv_queue *q)
boolean pkv_QueueEmpty (pkv_queue *q)
boolean pkv_QueueFull (pkv_queue *q)
boolean pkv_QueueInsert (pkv_queue *q, void *item)
boolean pkv_QueueGetFirst (pkv_queue *q, void *item)
boolean pkv_QueueRemoveFirst (pkv_queue *q, void *item)
int pkv_UpHeap (void *a[], int l, boolean(*cmp)(void *, void *))
int pkv_DownHeap (void *a[], int l, int f, boolean(*cmp)(void *, void *))
int pkv_HeapInsert (void *a[], int *l, void *newelem, boolean(*cmp)(void *, void *))
void pkv_HeapRemove (void *a[], int *l, int el, boolean(*cmp)(void *, void *))
void pkv_HeapOrder (void *a[], int n, boolean(*cmp)(void *, void *))
void pkv_HeapSort (void *a[], int n, boolean(*cmp)(void *, void *))
void pkv_ZeroMatc (int nrows, int rowlen, int pitch, char *data)
void pkv_Rearrangec (int nrows, int rowlen, int inpitch, int outpitch, char *data)
void pkv_Selectc (int nrows, int rowlen, int inpitch, int outpitch, const char *indata, char *outdata)
void pkv_Movec (int nrows, int rowlen, int pitch, int shift, char *data)
void pkv_ReverseMatc (int nrows, int rowlen, int pitch, char *data)
void pkv_TransposeMatrixc (int nrows, int ncols, int elemsize, int inpitch, const char *indata, int outpitch, char *outdata)
void pkv_Selectfd (int nrows, int rowlen, int inpitch, int outpitch, const float *indata, double *outdata)
void pkv_Selectdf (int nrows, int rowlen, int inpitch, int outpitch, const double *indata, float *outdata)
double pkv_rpower (double x, int e)
void pkv_Exchange (void *x, void *y, int size)
void pkv_Sort2f (float *a, float *b)
void pkv_Sort2d (double *a, double *b)
char pkv_signf (float x)
char pkv_signd (double x)
void pkv_HexByte (byte b, char *s)
void _pkv_InitPixelBuffer (void)
void _pkv_DestroyPixelBuffer (void)
void _pkv_DrawLine (int x1, int y1, int x2, int y2)
void pkv_DrawLine (int x1, int y1, int x2, int y2, void(*output)(const xpoint *buf, int n))
void pkv_Tic (clock_t *_tic)
int pkv_Toc (clock_t *_toc)
float pkv_Seconds (clock_t ticks)
void WriteArrayf (const char *name, int lgt, const float *tab)
void WriteArrayd (const char *name, int lgt, const double *tab)
void * DMalloc (size_t size)
void DFree (void *ptr)

Variables

void *(* pkv_GetScratchMem )(size_t size)
void(* pkv_FreeScratchMem )(size_t size)
void *(* pkv_GetScratchMemTop )(void)
void(* pkv_SetScratchMemTop )(void *p)
size_t(* pkv_ScratchMemAvail )(void)
size_t(* pkv_MaxScratchTaken )(void)
boolean pkv_critical
boolean pkv_signal
void(* pkv_signal_handler )(void)
void(* pkv_register_memblock )(void *ptr, boolean alloc)
void(* _pkv_OutputPixels )(const xpoint *buf, int n)
xpoint_pkv_pixbuf
int _pkv_npix

Define Documentation

#define EXP1   2.7182818284590452353
#define false   0
#define ID_IEEE754_DOUBLE   3
#define ID_IEEE754_FLOAT   2
#define ID_IEEE754_LONG_DOUBLE   4
#define ID_SIGNED_INT   1
#define ID_UNSIGNED   0
#define LIB_BSFILE   10
#define LIB_BSMESH   11
#define LIB_CAMERA   3
#define LIB_EGHOLE   7
#define LIB_G1BLENDING   8
#define LIB_G2BLENDING   9
#define LIB_GEOM   2
#define LIB_MULTIBS   5
#define LIB_PKNUM   1
#define LIB_PKVARIA   0
#define LIB_PSOUT   4
#define LIB_RAYBEZ   6
#define LIB_XGEDIT   12
#define max (   a,
  b 
)    ((a)>(b) ? (a) : (b))
#define MAX_1BYTE   0xFF
#define MAX_2BYTE   0xFFFF
#define MAX_3BYTE   0xFFFFFF
#define MAX_4BYTE   0xFFFFFFFF
#define min (   a,
  b 
)    ((a)<(b) ? (a) : (b))
#define PI   3.1415926535897932384
#define PKV_BUFSIZE   256
#define PKV_FLUSH   { _pkv_OutputPixels ( _pkv_pixbuf, _pkv_npix ); _pkv_npix = 0; }
#define PKV_FREE (   ptr  ) 
Value:
{ \
/*printf ( "free: ptr = 0x%x\n", (size_t)(ptr) ); */ \
    if ( pkv_signal_handler ) { \
      pkv_signal = false; \
      pkv_critical = true; \
      free ( (void*)(ptr) ); \
      if ( pkv_register_memblock ) \
        pkv_register_memblock ( (void*)(ptr), false ); \
      (ptr) = NULL; \
      pkv_critical = false; \
      if ( pkv_signal ) \
        pkv_signal_handler (); \
    } \
    else { \
      free ( (void*)(ptr) ); \
      (ptr) = NULL; \
    } \
  }
#define pkv_FreeScratchMemd (   size  )     pkv_FreeScratchMem ( (size)*sizeof(double) )
#define pkv_FreeScratchMemf (   size  )     pkv_FreeScratchMem ( (size)*sizeof(float) )
#define pkv_FreeScratchMemi (   size  )     pkv_FreeScratchMem ( (size)*sizeof(int) )
#define pkv_GetScratchMemd (   size  )     (double*)pkv_GetScratchMem ( (size)*sizeof(double) )
#define pkv_GetScratchMemf (   size  )     (float*)pkv_GetScratchMem ( (size)*sizeof(float) )
#define pkv_GetScratchMemi (   size  )     (int*)pkv_GetScratchMem ( (size)*sizeof(int) )
#define PKV_MALLOC (   ptr,
  size 
)
Value:
{ \
    if ( pkv_signal_handler ) { \
      pkv_signal = false; \
      pkv_critical = true; \
      (ptr) = malloc ( size ); \
      if ( pkv_register_memblock ) \
        pkv_register_memblock ( (void*)(ptr), true ); \
      pkv_critical = false; \
      if ( pkv_signal ) \
        pkv_signal_handler (); \
    } \
    else \
      (ptr) = malloc ( size ); \
/*printf ( "malloc: size = %d, ptr = 0x%x\n", size, (size_t)(ptr) ); */ \
  }
#define pkv_Moved (   nrows,
  rowlen,
  pitch,
  shift,
  data 
)
Value:
pkv_Movec(nrows,(rowlen)*sizeof(double),(pitch)*sizeof(double), \
    (shift)*sizeof(double),(char*)data)
#define pkv_Movef (   nrows,
  rowlen,
  pitch,
  shift,
  data 
)
Value:
pkv_Movec(nrows,(rowlen)*sizeof(float),(pitch)*sizeof(float), \
    (shift)*sizeof(float),(char*)data)
#define PKV_PIXEL (   p,
  px 
)    { (px).x = (short)((p).x/(p).z+0.5); (px).y = (short)((p).y/(p).z+0.5); }
#define pkv_Rearranged (   nrows,
  rowlen,
  inpitch,
  outpitch,
  data 
)
Value:
pkv_Rearrangec(nrows,(rowlen)*sizeof(double),(inpitch)*sizeof(double), \
    (outpitch)*sizeof(double),(char*)data)
#define pkv_Rearrangef (   nrows,
  rowlen,
  inpitch,
  outpitch,
  data 
)
Value:
pkv_Rearrangec(nrows,(rowlen)*sizeof(float),(inpitch)*sizeof(float), \
    (outpitch)*sizeof(float),(char*)data)
#define pkv_ReverseMatd (   nrows,
  rowlen,
  pitch,
  data 
)
Value:
pkv_ReverseMatc ( nrows, (rowlen)*sizeof(double), (pitch)*sizeof(double), \
    (char*)data )
#define pkv_ReverseMatf (   nrows,
  rowlen,
  pitch,
  data 
)
Value:
pkv_ReverseMatc ( nrows, (rowlen)*sizeof(float), (pitch)*sizeof(float), \
    (char*)data )
#define pkv_ScratchMemAvaild (  )     (pkv_ScratchMemAvail()/sizeof(double))
#define pkv_ScratchMemAvailf (  )     (pkv_ScratchMemAvail()/sizeof(float))
#define pkv_ScratchMemAvaili (  )     (pkv_ScratchMemAvail()/sizeof(int))
#define pkv_Selectd (   nrows,
  rowlen,
  inpitch,
  outpitch,
  indata,
  outdata 
)
Value:
pkv_Selectc(nrows,(rowlen)*sizeof(double),(inpitch)*sizeof(double), \
    (outpitch)*sizeof(double),(char*)indata,(char*)outdata)
#define pkv_Selectf (   nrows,
  rowlen,
  inpitch,
  outpitch,
  indata,
  outdata 
)
Value:
pkv_Selectc(nrows,(rowlen)*sizeof(float),(inpitch)*sizeof(float), \
    (outpitch)*sizeof(float),(char*)indata,(char*)outdata)
#define PKV_SETPIXEL (   xx,
  yy 
)
Value:
{ if ( _pkv_npix == PKV_BUFSIZE ) { PKV_FLUSH; _pkv_npix = 0; } \
    _pkv_pixbuf[_pkv_npix].x = (short)xx;  _pkv_pixbuf[_pkv_npix].y = (short)yy; \
    _pkv_npix++; }
#define pkv_TransposeMatrixd (   nrows,
  ncols,
  inpitch,
  indata,
  outpitch,
  outdata 
)
Value:
pkv_TransposeMatrixc ( nrows, ncols, sizeof(double), \
    (inpitch)*sizeof(double), (char*)indata, \
    (outpitch)*sizeof(double), (char*)outdata )
#define pkv_TransposeMatrixf (   nrows,
  ncols,
  inpitch,
  indata,
  outpitch,
  outdata 
)
Value:
pkv_TransposeMatrixc ( nrows, ncols, sizeof(float), \
    (inpitch)*sizeof(float), (char*)indata, \
    (outpitch)*sizeof(float), (char*)outdata )
#define pkv_ZeroMatd (   nrows,
  rowlen,
  pitch,
  data 
)
Value:
pkv_ZeroMatc(nrows,(rowlen)*sizeof(double), \
    (pitch)*sizeof(double),(char*)data)
#define pkv_ZeroMatf (   nrows,
  rowlen,
  pitch,
  data 
)
Value:
pkv_ZeroMatc(nrows,(rowlen)*sizeof(float), \
    (pitch)*sizeof(float),(char*)data)
#define SORT_BAD_DATA   2
#define SORT_NO_MEMORY   0
#define SORT_OK   1
#define SQRT2   1.4142135623730950488
#define SQRT3   1.7320508075688772935
#define TAU   0.6180339887498948482
#define true   1

Typedef Documentation

typedef unsigned char boolean
typedef struct Box2i Box2i
typedef struct Box2s Box2s
typedef unsigned char byte
typedef struct char2 point2c
typedef struct double2 point2d
typedef struct float2 point2f
typedef struct int2 point2i
typedef struct short2 point2s
typedef struct double3 point3d
typedef struct float3 point3f
typedef struct int3 point3i
typedef struct short3 point3s
typedef struct double4 point4d
typedef struct float4 point4f
typedef struct char2 vector2c
typedef struct double2 vector2d
typedef struct float2 vector2f
typedef struct int2 vector2i
typedef struct short2 vector2s
typedef struct double3 vector3d
typedef struct float3 vector3f
typedef struct int3 vector3i
typedef struct short3 vector3s
typedef struct double4 vector4d
typedef struct float4 vector4f

Function Documentation

void _pkv_DestroyPixelBuffer ( void   ) 
void _pkv_DrawLine ( int  x1,
int  y1,
int  x2,
int  y2 
)
void _pkv_InitPixelBuffer ( void   ) 
void DFree ( void *  ptr  ) 
void* DMalloc ( size_t  size  ) 
int pkv_Binom ( int  n,
int  k 
)
boolean pkv_DegreeStrToRad ( char *  txt,
double *  angle 
)
void pkv_DestroyScratchMem ( void   ) 
int pkv_DownHeap ( void *  a[],
int  l,
int  f,
boolean(*)(void *, void *)  cmp 
)
void pkv_DrawLine ( int  x1,
int  y1,
int  x2,
int  y2,
void(*)(const xpoint *buf, int n)  output 
)
void pkv_Exchange ( void *  x,
void *  y,
int  size 
)
int pkv_HeapInsert ( void *  a[],
int *  l,
void *  newelem,
boolean(*)(void *, void *)  cmp 
)
void pkv_HeapOrder ( void *  a[],
int  n,
boolean(*)(void *, void *)  cmp 
)
void pkv_HeapRemove ( void *  a[],
int *  l,
int  el,
boolean(*)(void *, void *)  cmp 
)
void pkv_HeapSort ( void *  a[],
int  n,
boolean(*)(void *, void *)  cmp 
)
void pkv_HexByte ( byte  b,
char *  s 
)
pkv_queue* pkv_InitQueue ( int  nmax,
int  itemsize 
)
char pkv_InitScratchMem ( size_t  size  ) 
void pkv_Movec ( int  nrows,
int  rowlen,
int  pitch,
int  shift,
char *  data 
)
boolean pkv_QueueEmpty ( pkv_queue q  ) 
boolean pkv_QueueFull ( pkv_queue q  ) 
boolean pkv_QueueGetFirst ( pkv_queue q,
void *  item 
)
boolean pkv_QueueInsert ( pkv_queue q,
void *  item 
)
boolean pkv_QueueRemoveFirst ( pkv_queue q,
void *  item 
)
void pkv_QuickSort ( int  n,
void *  usrptr,
boolean(*)(int i, int j, void *usrptr)  less,
void(*)(int i, int j, void *usrptr)  swap 
)
void pkv_RadToDegreeStr ( double  angle,
char *  txt 
)
void pkv_Rearrangec ( int  nrows,
int  rowlen,
int  inpitch,
int  outpitch,
char *  data 
)
void pkv_ResetQueue ( pkv_queue q  ) 
void pkv_ReverseMatc ( int  nrows,
int  rowlen,
int  pitch,
char *  data 
)
double pkv_rpower ( double  x,
int  e 
)
float pkv_Seconds ( clock_t  ticks  ) 
void pkv_Selectc ( int  nrows,
int  rowlen,
int  inpitch,
int  outpitch,
const char *  indata,
char *  outdata 
)
void pkv_Selectdf ( int  nrows,
int  rowlen,
int  inpitch,
int  outpitch,
const double *  indata,
float *  outdata 
)
void pkv_Selectfd ( int  nrows,
int  rowlen,
int  inpitch,
int  outpitch,
const float *  indata,
double *  outdata 
)
void pkv_SetErrorHandler ( void(*)(int module, int errno, const char *errstr)  ehandler  ) 
void pkv_SignalError ( int  module,
int  errno,
const char *  errstr 
)
char pkv_signd ( double  x  ) 
char pkv_signf ( float  x  ) 
void pkv_Sort2d ( double *  a,
double *  b 
)
void pkv_Sort2f ( float *  a,
float *  b 
)
char pkv_SortFast ( size_t  key_size,
char  key_type,
size_t  item_length,
size_t  key_offset,
unsigned int  num_data,
void *  data 
)
char pkv_SortKernel ( size_t  key_size,
char  key_type,
size_t  item_length,
size_t  key_offset,
unsigned int  num_data,
void *  data,
unsigned int *  permut 
)
char pkv_SortPermute ( size_t  item_length,
unsigned int  num_data,
void *  data,
unsigned int *  permut 
)
void pkv_SortPermute2 ( unsigned int  num_data,
size_t  item_length1,
void *  data1,
size_t  item_length2,
void *  data2,
unsigned int *  permut 
)
double pkv_SqAngle ( double  x,
double  y 
)
void pkv_Tic ( clock_t *  _tic  ) 
int pkv_Toc ( clock_t *  _toc  ) 
void pkv_TransposeMatrixc ( int  nrows,
int  ncols,
int  elemsize,
int  inpitch,
const char *  indata,
int  outpitch,
char *  outdata 
)
int pkv_UpHeap ( void *  a[],
int  l,
boolean(*)(void *, void *)  cmp 
)
void pkv_ZeroMatc ( int  nrows,
int  rowlen,
int  pitch,
char *  data 
)
void PrintScratchMemData ( void   ) 
void WriteArrayd ( const char *  name,
int  lgt,
const double *  tab 
)
void WriteArrayf ( const char *  name,
int  lgt,
const float *  tab 
)

Variable Documentation

int _pkv_npix
void(* _pkv_OutputPixels)(const xpoint *buf, int n)
void(* pkv_FreeScratchMem)(size_t size)
void*(* pkv_GetScratchMem)(size_t size)
void*(* pkv_GetScratchMemTop)(void)
size_t(* pkv_MaxScratchTaken)(void)
void(* pkv_register_memblock)(void *ptr, boolean alloc)
size_t(* pkv_ScratchMemAvail)(void)
void(* pkv_SetScratchMemTop)(void *p)
void(* pkv_signal_handler)(void)