mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-11-25 03:40:26 +01:00
65 lines
2.0 KiB
C
65 lines
2.0 KiB
C
/*
|
|
* LWSDK Header File
|
|
* Copyright 1999, NewTek, Inc.
|
|
*
|
|
* LWCUSTOBJ.H -- LightWave Custom Objects
|
|
*/
|
|
#ifndef LWSDK_CUSTOBJ_H
|
|
#define LWSDK_CUSTOBJ_H
|
|
|
|
#include <lwrender.h>
|
|
|
|
#define LWCUSTOMOBJ_HCLASS "CustomObjHandler"
|
|
#define LWCUSTOMOBJ_ICLASS "CustomObjInterface"
|
|
#define LWCUSTOMOBJ_VERSION 5
|
|
|
|
|
|
typedef struct st_LWCustomObjAccess {
|
|
int view;
|
|
int flags;
|
|
void *dispData;
|
|
void (*setColor) (void *, float rgba[4]);
|
|
void (*setPattern) (void *, int lpat);
|
|
void (*setTexture) (void *, int, unsigned char *);
|
|
void (*setUVs) (void *, double[2], double[2], double[2], double[2]);
|
|
void (*point) (void *, double[3], int csys);
|
|
void (*line) (void *, double[3], double[3], int csys);
|
|
void (*triangle) (void *, double[3], double[3], double[3], int csys);
|
|
void (*quad) (void *, double[3], double[3], double[3], double[3], int csys);
|
|
void (*circle) (void *, double[3], double, int csys);
|
|
void (*text) (void *, double[3], const char *, int just, int csys);
|
|
LWDVector viewPos, viewDir;
|
|
} LWCustomObjAccess;
|
|
|
|
#define LWVIEW_ZY 0
|
|
#define LWVIEW_XZ 1
|
|
#define LWVIEW_XY 2
|
|
#define LWVIEW_PERSP 3
|
|
#define LWVIEW_LIGHT 4
|
|
#define LWVIEW_CAMERA 5
|
|
#define LWVIEW_SCHEMA 6
|
|
|
|
#define LWCOFL_SELECTED (1<<0)
|
|
|
|
#define LWLPAT_SOLID 0
|
|
#define LWLPAT_DOT 1
|
|
#define LWLPAT_DASH 2
|
|
#define LWLPAT_LONGDOT 3
|
|
|
|
#define LWCSYS_WORLD 0
|
|
#define LWCSYS_OBJECT 1
|
|
#define LWCSYS_ICON 2
|
|
|
|
typedef struct st_LWCustomObjHandler {
|
|
LWInstanceFuncs *inst;
|
|
LWItemFuncs *item;
|
|
LWRenderFuncs *rend;
|
|
void (*evaluate) (LWInstance, const LWCustomObjAccess *);
|
|
unsigned int (*flags) (LWInstance);
|
|
} LWCustomObjHandler;
|
|
|
|
#define LWCOF_SCHEMA_OK 1
|
|
|
|
#endif
|
|
|