00001 // BC 6/14/2005 \Master120\Include\Texture.h 00002 00003 #define __TEXTURE_H 00004 00005 #include "DLLPlugi.h" 00006 00007 class HTexInfo; 00008 class Vector; 00009 class HModel; 00010 class HGroup; 00011 class HObjectListNode; 00012 class HPointerPropertyBase; 00013 00014 #define TEXTUREDLLVERSION 2 00015 00016 class PLUGINEXPORT Texture : public DLLPlugin { // this has a chance of breaking old texture plugins, if so, just export the bottom two functions below 00017 public: 00018 Texture() {} 00019 Texture(HTreeObject *htreeobject) : DLLPlugin(htreeobject) {} 00020 00021 // RENDERING 00022 virtual BOOL Evaluate( const Vector &evalp, HTexInfo *texinfo ) = 0; 00023 virtual BOOL EvaluateTransparency( const Vector &evalp, HTexInfo *texinfo ) = 0; 00024 virtual HObjectListNode *GetPointerList( HPointerPropertyBase *prop ) { return NULL; } 00025 virtual void CheckOut( HHashObject *cache ) {} // used copy instead, could remove this function 00026 virtual void OnNotifyNewProperty( HProperty *prop, const String &matchname ) {} 00027 00028 // detect what we are currently applied to 00029 HModel *GetModel(); // this one should never be NULL 00030 HGroup *GetGroup(); // this one can be NULL, if not on a group 00031 };
Generated on Thu Oct 27 11:46:46 2005 with
1.4.5 written by Dimitri van Heesch,
© 1997-2001