$#include "Drawable.h" static const unsigned DRAWABLE_GEOMETRY; static const unsigned DRAWABLE_LIGHT; static const unsigned DRAWABLE_ZONE; static const unsigned DRAWABLE_ANY; static const unsigned DEFAULT_VIEWMASK; static const unsigned DEFAULT_LIGHTMASK; static const unsigned DEFAULT_SHADOWMASK; static const unsigned DEFAULT_ZONEMASK; static const int MAX_VERTEX_LIGHTS; static const float ANIMATION_LOD_BASESCALE; enum UpdateGeometryType { UPDATE_NONE = 0, UPDATE_MAIN_THREAD, UPDATE_WORKER_THREAD }; class Drawable : public Component { void SetDrawDistance(float distance); void SetShadowDistance(float distance); void SetLodBias(float bias); void SetViewMask(unsigned mask); void SetLightMask(unsigned mask); void SetShadowMask(unsigned mask); void SetZoneMask(unsigned mask); void SetMaxLights(unsigned num); void SetCastShadows(bool enable); void SetOccluder(bool enable); void SetOccludee(bool enable); void MarkForUpdate(); const BoundingBox& GetBoundingBox() const; const BoundingBox& GetWorldBoundingBox(); unsigned char GetDrawableFlags() const; float GetDrawDistance() const; float GetShadowDistance() const; float GetLodBias() const; unsigned GetViewMask() const; unsigned GetLightMask() const; unsigned GetShadowMask() const; unsigned GetZoneMask() const; unsigned GetMaxLights() const; bool GetCastShadows() const; bool IsOccluder() const; bool IsOccludee() const; void SetZone(Zone* zone, bool temporary = false); void SetSortValue(float value); void SetMinMaxZ(float minZ, float maxZ); void MarkInView(const FrameInfo& frame, bool mainView = true); void ClearLights(); void AddLight(Light* light); void AddVertexLight(Light* light); void LimitLights(); void LimitVertexLights(); void SetBasePass(unsigned batchIndex); Octant* GetOctant() const; Zone* GetZone() const; Zone* GetLastZone() const; bool IsZoneDirty() const; float GetDistance() const; float GetLodDistance() const; float GetSortValue() const; bool IsInView(unsigned frameNumber) const; bool IsInView(const FrameInfo& frame, bool mainView = true) const; bool HasBasePass(unsigned batchIndex) const; Light* GetFirstLight() const; float GetMinZ() const; float GetMaxZ() const; tolua_readonly tolua_property__get_set BoundingBox& worldBoundingBox; tolua_readonly tolua_property__get_set unsigned char drawableFlags; tolua_property__get_set float drawDistance; tolua_property__get_set float shadowDistance; tolua_property__get_set float lodBias; tolua_property__get_set unsigned viewMask; tolua_property__get_set unsigned lightMask; tolua_property__get_set unsigned shadowMask; tolua_property__get_set unsigned zoneMask; tolua_property__get_set unsigned maxLights; tolua_property__get_set bool castShadows; tolua_property__is_set bool occluder; tolua_property__is_set bool occludee; tolua_readonly tolua_property__get_set Octant* octant; tolua_property__get_set Zone* zone; tolua_readonly tolua_property__get_set Zone* lastZone; tolua_readonly tolua_property__is_set bool zoneDirty; tolua_readonly tolua_property__get_set float distance; tolua_readonly tolua_property__get_set float lodDistance; tolua_property__get_set float sortValue; tolua_readonly tolua_property__get_set Light* firstLight; tolua_readonly tolua_property__get_set float minZ; tolua_readonly tolua_property__get_set float maxZ; };