glrender.h
来自「有限元学习研究用源代码(老外的),供科研人员参考」· C头文件 代码 · 共 195 行
H
195 行
/*
* $Id: glrender.h,v 2.4 1998/07/09 09:26:33 schmelze Exp $
* $Log: glrender.h,v $
* Revision 2.4 1998/07/09 09:26:33 schmelze
* *** empty log message ***
*
* Revision 2.2 1998/03/24 14:46:21 darcy
* ibg runs in central installation now
* (glrender:glr* -> iglr*)
*
* Revision 2.1 1998/01/14 18:27:33 fuhrmann
* Merge mit Ilja
*
* Revision 1.2 1997/11/05 19:14:15 schmelze
* Version mit neuer Dokumentation, erste Version des neuen Gittergenerators
* noch ohne Randlinienbehandlung
*
* Revision 2.0 1996/02/15 19:57:10 fuhrmann
* First meta-stable distribution
*
* Revision 1.4 1996/02/09 16:49:39 fuhrmann
* - started to comment header
*
* Revision 1.3 1996/02/06 09:56:14 fuhrmann
* glrDump stuff introduced
*
* Revision 1.2 1995/11/08 12:20:22 fuhrmann
* glrSetTitle introduced
* glRender2 for structure and data pointer usage introduced
*
* Revision 1.1 1995/10/20 15:42:38 fuhrmann
* Initial revision
*
*/
#ifndef GLRND_H
#define GLRND_H
/*----------------------------------------------------------------
Basics
This file defines a C interface for the class *glRenderer.
It is possible to give a three-level help information:
1. name: a single word
2. help: a single line
3. url: the url of a help file
----------------------------------------------------------------*/
typedef struct iglRendererStruct *iglRenderer;
iglRenderer iglrCreate( char *name, char *help, char *url,
int xpos,
int ypos,
int width,
int height);
void iglrDestroy( iglRenderer rnd);
void iglrender( iglRenderer rnd);
/*----------------------------------------------------------------
Object and Parameter Definition
It must be always 0 < obj < IGLR_OBJECTS, 0 < par < IGLR_PARAMETERS.
Exception: Parameters may be defined "for all objects" by obj=0.
The "key" has to be a lowercase letter.
Parameters defined for the same object require different keys.
----------------------------------------------------------------*/
#define IGLR_OBJECTS 10
#define IGLR_PARAMETERS 50
typedef void (*iglrCallback)(iglRenderer rnd, void *data);
void iglrDefineObject( iglRenderer rnd, int obj,
char key, char *name, char *help, char *url,
iglrCallback d, void *data);
void iglrDefineAction( iglRenderer rnd, int obj, int par,
char key, char *name, char *help, char *url,
iglrCallback d);
void iglrDefineInteger( iglRenderer rnd, int obj, int par,
char key, char *name, char *help, char *url,
int min, int max);
void iglrDefineDouble( iglRenderer rnd, int obj, int par,
char key, char *name, char *help, char *url,
double min, double max);
void iglrDefineSwitch( iglRenderer rnd, int obj, int par,
char key, char *name, char *help, char *url);
void iglrDefineEnum( iglRenderer rnd, int obj, int par,
char key, char *name, char *help, char *url,
int values, char** value);
void iglrUndefineObject( iglRenderer rnd, int obj);
void iglrUndefineParameter(iglRenderer rnd, int obj, int par);
void iglrSetObject( iglRenderer rnd, int obj, void *data);
void iglrSetInteger( iglRenderer rnd, int obj, int par, int value);
void iglrSetSwitch( iglRenderer rnd, int obj, int par, int value);
void iglrSetEnum( iglRenderer rnd, int obj, int par, int value);
void iglrSetDouble( iglRenderer rnd, int obj, int par, double value);
/*----------------------------------------------------------------
Setting Other Initial Values
----------------------------------------------------------------*/
void iglrSetBaseVolume( iglRenderer rnd,
double xmin, double xmax,
double ymin, double ymax,
double zmin, double zmax);
void iglrSetSnapshotSize( iglRenderer rnd,
int width,
int height);
void iglrSetSnapshotNames( iglRenderer rnd,
char *nameformat, int first);
void iglrSetBaseURL( iglRenderer rnd, char *url);
/*----------------------------------------------------------------
Request Functions to be Called Inside a Draw Procedure
----------------------------------------------------------------*/
#define IGLR_TYPE_VOLUME 3
#define IGLR_TYPE_RECTANGLE 2
#define IGLR_TYPE_LINE 1
#define IGLR_TYPE_POINT 0
void iglrGetDrawType( iglRenderer rnd, int *type);
#define IGLR_PRINT_NONE 0
#define IGLR_PRINT_SINGLE 1
#define IGLR_PRINT_SOME 2
#define IGLR_PRINT_MORE 3
#define IGLR_PRINT_ALL 4
void iglrGetPrintLevel( iglRenderer rnd, int *level);
#define IGLR_DRAW_MODI 6
#define IGLR_DRAW_NONE 0
#define IGLR_DRAW_FRAME 1
#define IGLR_DRAW_WIREFRAME 2
#define IGLR_DRAW_COARSE 3
#define IGLR_DRAW_NORMAL 4
#define IGLR_DRAW_BEST 5
void iglrGetDrawLevel( iglRenderer rnd, int *level, int *bound);
void iglrGetVolume( iglRenderer rnd,
double *xmin, double *xmax,
double *ymin, double *ymax,
double *zmin, double *zmax);
void iglrGetPlane( iglRenderer rnd,
double *a, double *b, double *c, double *d);
void iglrGetRectangle( iglRenderer rnd, double x[3][4]);
void iglrGetLine( iglRenderer rnd, double x[3][2]);
void iglrGetPoint( iglRenderer rnd, double x[3]);
int iglrGetObject( iglRenderer rnd);
void iglrGetInteger( iglRenderer rnd, int obj, int par, int *value);
void iglrGetSwitch( iglRenderer rnd, int obj, int par, int *value);
void iglrGetEnum( iglRenderer rnd, int obj, int par, int *value);
void iglrGetDouble( iglRenderer rnd, int obj, int par, double *value);
void iglrGetSliceState( iglRenderer rnd, int *sliceOn);
/*----------------------------------------------------------------
Writing Text
----------------------------------------------------------------*/
void iglrPrint(iglRenderer rnd, char *s);
/*----------------------------------------------------------------
May become obsolete in 3.0 - don't use
----------------------------------------------------------------*/
void iglrSetTitle(iglRenderer rnd, char *title);
void iglrReset(iglRenderer rnd);
void iglrGetMouseState(iglRenderer rnd, int *hold);
void iglrSetVolume(iglRenderer rnd,double xmin, double xmax,
double ymin, double ymax,
double zmin, double zmax);
typedef int (*iglrKeyAction)(iglRenderer rnd,int mask);
void iglrRegisterKeyAction(iglRenderer rnd, int key, iglrKeyAction action, char *help);
void iglrSetPerspective(iglRenderer rnd, double rotx, double rotz);
void iglrGetPerspective(iglRenderer rnd, double *rotx, double *rotz);
void iglrGetFlatshading(iglRenderer rnd, int *flat);
void iglrSetFlatshading(iglRenderer rnd, int flat);
void iglrSetPlane(iglRenderer rnd, double a, double b, double c, double d);
void iglrGetVScale(iglRenderer rnd, double* vscale);
void iglrSetVScale(iglRenderer rnd, double vscale);
void iglrGetWireframe(iglRenderer rnd, int *wireframe);
void iglrGetLevelSurface(iglRenderer rnd, int* mode);
void iglrSetLevelSurface(iglRenderer rnd, int mode);
void iglrGetLevel(iglRenderer rnd, double* lev);
void iglrSetLevel(iglRenderer rnd, double lev);
void iglrMoveWireframe(iglRenderer rnd);
void iglrMoveFrame(iglRenderer rnd);
void iglrMoveModel(iglRenderer rnd);
void iglrGetDialog(iglRenderer rnd, int* dialog);
void iglrSetDialog(iglRenderer, int dialog);
typedef void (*iglrCallback2)(iglRenderer rnd, void *structure, void *data);
void iglrender1(iglRenderer rnd, iglrCallback f, void *info);
void iglrender2(iglRenderer rnd, iglrCallback2 f, void *structure, void *info);
void iglrSetDumpFileNameStub(iglRenderer rnd, char *name);
void iglrSetDumpPixmapSize(iglRenderer rnd, int w, int h);
void iglrDumpNext(iglRenderer rnd);
void iglrSetDataValid(iglRenderer, int valid);
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?