OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Classes | Public Member Functions | Public Attributes | Properties | List of all members
OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule Class Reference
Inheritance diagram for OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule:
Inheritance graph
[legend]
Collaboration diagram for OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule:
Collaboration graph
[legend]

Classes

class  DynamicTextureUpdater
 

Public Member Functions

 DynamicTextureModule ()
 This constructor is only here because of the Unit Tests... Don't use it. More...
 
void RegisterRender (string handleType, IDynamicTextureRender render)
 
void ReturnData (UUID updaterId, IDynamicTexture texture)
 Called by code which actually renders the dynamic texture to supply texture data. More...
 
UUID AddDynamicTextureURL (UUID simID, UUID primID, string contentType, string url, string extraParams, int updateTimer)
 
UUID AddDynamicTextureURL (UUID simID, UUID primID, string contentType, string url, string extraParams, int updateTimer, bool SetBlending, byte AlphaValue)
 
UUID AddDynamicTextureURL (UUID simID, UUID primID, string contentType, string url, string extraParams, int updateTimer, bool SetBlending, int disp, byte AlphaValue, int face)
 
UUID AddDynamicTextureData (UUID simID, UUID primID, string contentType, string data, string extraParams, int updateTimer)
 
UUID AddDynamicTextureData (UUID simID, UUID primID, string contentType, string data, string extraParams, int updateTimer, bool SetBlending, byte AlphaValue)
 
UUID AddDynamicTextureData (UUID simID, UUID primID, string contentType, string data, string extraParams, int updateTimer, bool SetBlending, int disp, byte AlphaValue, int face)
 Apply a dynamically generated texture to the given prim. More...
 
void GetDrawStringSize (string contentType, string text, string fontName, int fontSize, out double xSize, out double ySize)
 
void Initialise (IConfigSource config)
 This is called to initialize the region module. For shared modules, this is called exactly once, after creating the single (shared) instance. For non-shared modules, this is called once on each instance, after the instace for the region has been created. More...
 
void PostInitialise ()
 This is called exactly once after all the shared region-modules have been instanciated and IRegionModuleBase.Initialised. More...
 
void AddRegion (Scene scene)
 This is called whenever a Scene is added. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, after Initialise has been called. More...
 
void RegionLoaded (Scene scene)
 This will be called once for every scene loaded. In a shared module this will be multiple times in one instance, while a nonshared module instance will only be called once. This method is called after AddRegion has been called in all modules for that scene, providing an opportunity to request another module's interface, or hook an event from another module. More...
 
void RemoveRegion (Scene scene)
 This is called whenever a Scene is removed. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, if the scene this instance is associated with is removed. More...
 
void Close ()
 This is the inverse to Initialise. After a Close(), this instance won't be usable anymore. More...
 

Public Attributes

const int DISP_EXPIRE = 1
 
const int DISP_TEMP = 2
 

Properties

bool ReuseTextures [get, set]
 If true then where possible dynamic textures are reused. More...
 
bool ReuseLowDataTextures [get, set]
 If false, then textures which have a low data size are not reused when ReuseTextures = true. More...
 
string Name [get]
 
Type ReplaceableInterface [get]
 
- Properties inherited from OpenSim.Region.Framework.Interfaces.IRegionModuleBase
string Name [get]
 
Type ReplaceableInterface [get]
 If this returns non-null, it is the type of an interface that this module intends to register. This will cause the loader to defer loading of this module until all other modules have been loaded. If no other module has registered the interface by then, this module will be activated, else it will remain inactive, letting the other module take over. This should return non-null ONLY in modules that are intended to be easily replaceable, e.g. stub implementations that the developer expects to be replaced by third party provided modules. More...
 

Detailed Description

Definition at line 45 of file DynamicTextureModule.cs.

Constructor & Destructor Documentation

OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.DynamicTextureModule ( )
inline

This constructor is only here because of the Unit Tests... Don't use it.

Definition at line 90 of file DynamicTextureModule.cs.

Member Function Documentation

UUID OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.AddDynamicTextureData ( UUID  simID,
UUID  primID,
string  contentType,
string  data,
string  extraParams,
int  updateTimer 
)
inline
UUID OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.AddDynamicTextureData ( UUID  simID,
UUID  primID,
string  contentType,
string  data,
string  extraParams,
int  updateTimer,
bool  SetBlending,
byte  AlphaValue 
)
inline

Apply a dynamically generated texture to all sides of the given prim. The texture is not persisted to the asset service.

Parameters
simIDThe simulator in which the texture is being generated
primIDThe prim to which to apply the texture.
contentTypeThe content type to create. Current choices are "vector" to create a vector based texture or "image" to create a texture from an image at a particular URL
dataThe data for the generator
extraParamsParameters for the generator that don't form part of the main data.
updateTimerIf zero, the image is never updated after the first generation. If positive the image is updated at the given interval. Not implemented for
SetBlendingIf true, the newly generated texture is blended with the appropriate existing ones on the prim
AlphaValueThe alpha value of the generated texture.
Returns
The UUID of the texture updater, not the texture UUID. If you need the texture UUID then you will need to obtain it directly from the SceneObjectPart. For instance, if ALL_SIDES is set then this texture can be obtained as SceneObjectPart.Shape.Textures.DefaultTexture.TextureID

Implements OpenSim.Region.Framework.Interfaces.IDynamicTextureManager.

Definition at line 227 of file DynamicTextureModule.cs.

UUID OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.AddDynamicTextureData ( UUID  simID,
UUID  primID,
string  contentType,
string  data,
string  extraParams,
int  updateTimer,
bool  SetBlending,
int  disp,
byte  AlphaValue,
int  face 
)
inline

Apply a dynamically generated texture to the given prim.

Parameters
simIDThe simulator in which the texture is being generated
primIDThe prim to which to apply the texture.
contentTypeThe content type to create. Current choices are "vector" to create a vector based texture or "image" to create a texture from an image at a particular URL
dataThe data for the generator
extraParamsParameters for the generator that don't form part of the main data.
updateTimerIf zero, the image is never updated after the first generation. If positive the image is updated at the given interval. Not implemented for
SetBlendingIf true, the newly generated texture is blended with the appropriate existing ones on the prim
dispDisplay flags. If DISP_EXPIRE then the old texture is deleted if it is replaced by a newer generated texture (may not currently be implemented). If DISP_TEMP then the asset is flagged as temporary, which often means that it is not persisted to the database.
AlphaValueThe alpha value of the generated texture.
faceThe face of the prim on which to put the generated texture. If ALL_SIDES then all sides of the prim are set
Returns
The UUID of the texture updater, not the texture UUID. If you need the texture UUID then you will need to obtain it directly from the SceneObjectPart. For instance, if ALL_SIDES is set then this texture can be obtained as SceneObjectPart.Shape.Textures.DefaultTexture.TextureID

Implements OpenSim.Region.Framework.Interfaces.IDynamicTextureManager.

Definition at line 234 of file DynamicTextureModule.cs.

UUID OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.AddDynamicTextureURL ( UUID  simID,
UUID  primID,
string  contentType,
string  url,
string  extraParams,
int  updateTimer 
)
inline
UUID OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.AddDynamicTextureURL ( UUID  simID,
UUID  primID,
string  contentType,
string  url,
string  extraParams,
int  updateTimer,
bool  SetBlending,
byte  AlphaValue 
)
inline
UUID OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.AddDynamicTextureURL ( UUID  simID,
UUID  primID,
string  contentType,
string  url,
string  extraParams,
int  updateTimer,
bool  SetBlending,
int  disp,
byte  AlphaValue,
int  face 
)
inline
void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.AddRegion ( Scene  scene)
inline

This is called whenever a Scene is added. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, after Initialise has been called.

Parameters
sceneA Scene

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 360 of file DynamicTextureModule.cs.

void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.Close ( )
inline

This is the inverse to Initialise. After a Close(), this instance won't be usable anymore.

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 379 of file DynamicTextureModule.cs.

void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.GetDrawStringSize ( string  contentType,
string  text,
string  fontName,
int  fontSize,
out double  xSize,
out double  ySize 
)
inline
void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.Initialise ( IConfigSource  source)
inline

This is called to initialize the region module. For shared modules, this is called exactly once, after creating the single (shared) instance. For non-shared modules, this is called once on each instance, after the instace for the region has been created.

Parameters
sourceA IConfigSource

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 340 of file DynamicTextureModule.cs.

void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.PostInitialise ( )
inline

This is called exactly once after all the shared region-modules have been instanciated and IRegionModuleBase.Initialised.

Implements OpenSim.Region.Framework.Interfaces.ISharedRegionModule.

Definition at line 356 of file DynamicTextureModule.cs.

void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.RegionLoaded ( Scene  scene)
inline

This will be called once for every scene loaded. In a shared module this will be multiple times in one instance, while a nonshared module instance will only be called once. This method is called after AddRegion has been called in all modules for that scene, providing an opportunity to request another module's interface, or hook an event from another module.

Parameters
sceneA Scene

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 369 of file DynamicTextureModule.cs.

void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.RegisterRender ( string  handleType,
IDynamicTextureRender  render 
)
inline
void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.RemoveRegion ( Scene  scene)
inline

This is called whenever a Scene is removed. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, if the scene this instance is associated with is removed.

Parameters
sceneA Scene

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 373 of file DynamicTextureModule.cs.

void OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.ReturnData ( UUID  updaterId,
IDynamicTexture  texture 
)
inline

Called by code which actually renders the dynamic texture to supply texture data.

Parameters
updaterId
texture

Implements OpenSim.Region.Framework.Interfaces.IDynamicTextureManager.

Definition at line 111 of file DynamicTextureModule.cs.

Member Data Documentation

const int OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.DISP_EXPIRE = 1

Definition at line 51 of file DynamicTextureModule.cs.

const int OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.DISP_TEMP = 2

Definition at line 52 of file DynamicTextureModule.cs.

Property Documentation

string OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.Name
get

Definition at line 384 of file DynamicTextureModule.cs.

Type OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.ReplaceableInterface
get

Definition at line 389 of file DynamicTextureModule.cs.

bool OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.ReuseLowDataTextures
getset

If false, then textures which have a low data size are not reused when ReuseTextures = true.

LL viewers 3.3.4 and before appear to not fully render textures pulled from the viewer cache if those textures have a relatively high pixel surface but a small data size. Typically, this appears to happen if the data size is smaller than the viewer's discard level 2 size estimate. So if this is setting is false, textures smaller than the calculation in IsSizeReuseable are always regenerated rather than reused to work around this problem.

Definition at line 68 of file DynamicTextureModule.cs.

bool OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTextureModule.ReuseTextures
getset

If true then where possible dynamic textures are reused.

Definition at line 57 of file DynamicTextureModule.cs.


The documentation for this class was generated from the following file: