Class TX3DNodesCache

Unit

Declaration

type TX3DNodesCache = class(TTexturesVideosCache)

Description

Cache for X3D nodes. Descends from TTexturesVideosCache, so can also cache textures and movies.

Hierarchy

Overview

Fields

Public Log: Boolean;

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function LoadNode(const URL: String): TX3DRootNode;
Public function IsCached(const URL: String): Boolean;
Public function TryCopyNode(const URL: String): TX3DRootNode;
Public procedure FreeNode(var Node: TX3DRootNode);
Public function Empty: boolean; override;

Description

Fields

Public Log: Boolean;
 

Methods

Public constructor Create;
 
Public destructor Destroy; override;
 
Public function LoadNode(const URL: String): TX3DRootNode;

Load model, just like X3DLoad.LoadNode but with a cache. URL must be absolute (not relative).

Note that this should not be used if you plan to modify the model graph (for example by VRML/X3D events). In such case, the cache should not be used, as it would make all the model instances shared. For example, if you inline the same model multiple times, you could not modify one instance independent from another.

Public function IsCached(const URL: String): Boolean;

Is the given URL cached.

Public function TryCopyNode(const URL: String): TX3DRootNode;

If the given URL is cached, return a DeepCopy of the node from cache. Otherwise returns Nil. This makes sense if you possibly already have this model in the cache, and now you want to load it again, *and* modify the X3D nodes tree afterwards.

Public procedure FreeNode(var Node: TX3DRootNode);

Unload previously loaded here model. Node may be Nil (then it's ignored), or something loaded by LoadNode (then it's released and changed to Nil).

Public function Empty: boolean; override;
 

Generated by PasDoc 0.16.0.