00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __OBJ_Null__
00021 #define __OBJ_Null__
00022
00023 #include "OBJ_API.h"
00024 #include "OBJ_Geometry.h"
00025
00026 enum OBJ_NullIndex
00027 {
00028 I_RENDERSPACE = I_N_GEO_INDICES,
00029 I_GEOSCALE,
00030 I_DISPLAYICON,
00031 I_CONTROLTYPE,
00032 I_ORIENTATION,
00033 I_SHADEDMODE,
00034 I_N_NULL_INDICES
00035 };
00036
00037 class OBJ_API OBJ_Null : public OBJ_Geometry
00038 {
00039 public:
00040 OBJ_Null(OP_Network *net,
00041 const char *name,
00042 OP_Operator *op);
00043 virtual ~OBJ_Null();
00044
00045 static OP_Node *myConstructor(OP_Network *net,
00046 const char *name,
00047 OP_Operator *entry);
00048
00049 static PRM_Template *getTemplateList();
00050
00051 virtual unsigned disableParms();
00052 virtual OBJ_OBJECT_TYPE getObjectType() const { return OBJ_STD_NULL; }
00053
00054 int RENDERSPACE(float t)
00055 {
00056 return evalInt("renderspace",
00057 &getIndirect()[I_RENDERSPACE],
00058 0, t);
00059 }
00060
00061 float GEOSCALE(float t)
00062 {
00063 return evalFloat("geoscale",
00064 &getIndirect()[I_GEOSCALE],
00065 0, t);
00066 }
00067
00068 int DISPLAYICON(float t)
00069 {
00070 return evalInt("displayicon",
00071 &getIndirect()[I_DISPLAYICON],
00072 0, t);
00073 }
00074
00075 int CONTROLTYPE(float t)
00076 {
00077 return evalInt("controltype",
00078 &getIndirect()[I_CONTROLTYPE],
00079 0, t);
00080 }
00081
00082 int ORIENTATION(float t)
00083 {
00084 return evalInt("orientation",
00085 &getIndirect()[I_ORIENTATION],
00086 0, t);
00087 }
00088
00089 int SHADEDMODE(float t)
00090 {
00091 return evalInt("shadedmode",
00092 &getIndirect()[I_SHADEDMODE],
00093 0, t);
00094 }
00095
00096 virtual OBJ_Null *castToOBJNull() { return this; }
00097 protected:
00098
00099 virtual int *getIndirect() const
00100 { return nullIndirect; }
00101
00102 virtual int isObjectRenderable() const;
00103
00104 private:
00105 static int *nullIndirect;
00106 };
00107
00108 #endif