1 #ifndef CUSTOMOBJECT_HANDLER_H
2 #define CUSTOMOBJECT_HANDLER_H
21 void SetColor (
float r,
float g,
float b,
float a)
23 float rgba[4] = {r, g, b, a};
28 void SetUVs (
double uv0[2],
double uv1[2],
double uv2[2],
double uv3[2]) {
access->setUVs(
access->dispData, uv0, uv1, uv2, uv3);}
33 void DrawQuad (
double v1[3],
double v2[3],
double v3[3],
double v4[3],
int csys) {
access->quad(
access->dispData, v1, v2, v3, v4, csys);}
35 void DrawCircle (
double center[3],
double radius,
int csys) {
access->circle(
access->dispData, center, radius, csys);}
36 void DrawText (
double center[3],
const char *text,
int just,
int csys) {
access->text(
access->dispData, center, text, just, csys);}
48 void DrawPolygon(
unsigned int numv,
unsigned int verts[],
double v[][3],
int csys)
50 access->polyIndexed(
access->dispData, numv, verts, v, csys);
85 virtual unsigned int Flags() {
return 0;}
92 template <
class T,
int maxVersion,
int minVersion>
101 static int Activate (
int version, GlobalFunc *global, LWInstance inst,
void *serverData)
103 if ( version > maxVersion )
return AFUNC_BADVERSION;
104 if ( version < minVersion )
return AFUNC_BADVERSION;
110 LWCustomObjHandler *plugin =
static_cast<LWCustomObjHandler *
>(inst);
115 plugin->evaluate = CustomObjAdaptor::Evaluate;
116 plugin->flags = CustomObjAdaptor::Flags;
120 catch (std::exception &e)
128 static void Evaluate (LWInstance instance,
const LWCustomObjAccess *lw_coa)
132 T *plugin = (T *) instance;
135 catch (std::exception &e)
141 static unsigned int Flags (LWInstance instance)
145 T *plugin = (T *) instance;
146 return plugin->Flags();
148 catch (std::exception &e)
169 #endif // CUSTOMOBJECT_HANDLER_H