File: X3DNodes.TAbstractTexture2DNode.html

package info (click to toggle)
castle-game-engine 5.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 185,428 kB
  • sloc: pascal: 260,781; cpp: 1,363; objc: 713; makefile: 537; xml: 496; sh: 480; php: 4
file content (344 lines) | stat: -rw-r--r-- 24,624 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Castle Game Engine: X3DNodes: Class TAbstractTexture2DNode</title>
<meta name="generator" content="PasDoc 0.13.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Castle Game Engine</h2><p><a href="introduction.html" class="navigation">Introduction</a></p><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content">
<a name="TAbstractTexture2DNode"></a><h1 class="cio">Class TAbstractTexture2DNode</h1>
<table class="sections wide_list">
<tr>
<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table>
<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a  href="X3DNodes.html">X3DNodes</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TAbstractTexture2DNode = class(<a class="normal" href="X3DNodes.TAbstractTextureNode.html">TAbstractTextureNode</a>)</code></p>
<h2 class="description">Description</h2>
<p>
VRML/X3D texture that is 2D and is loaded (from file or some other stream).

<p>For X3D, this descends from X3DTextureNode and is an ancestor for X3DTexture2DNode, so X3D hierarchy is nicely preserved.</p>
<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TPersistent</li>
<li class="ancestor"><a class="normal" href="CastleInterfaces.TNonRefCountedInterfacedPersistent.html">TNonRefCountedInterfacedPersistent</a></li>
<li class="ancestor"><a class="normal" href="X3DFields.TX3DFileItem.html">TX3DFileItem</a></li>
<li class="ancestor"><a class="normal" href="X3DNodes.TX3DNode.html">TX3DNode</a></li>
<li class="ancestor"><a class="normal" href="X3DNodes.TAbstractNode.html">TAbstractNode</a></li>
<li class="ancestor"><a class="normal" href="X3DNodes.TAbstractAppearanceChildNode.html">TAbstractAppearanceChildNode</a></li>
<li class="ancestor"><a class="normal" href="X3DNodes.TAbstractTextureNode.html">TAbstractTextureNode</a></li>
<li class="thisitem">TAbstractTexture2DNode</li></ul><h2 class="overview">Overview</h2>
<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code><b><a  href="X3DNodes.TAbstractTexture2DNode.html#FTextureUsedFullUrl">FTextureUsedFullUrl</a></b>: string;</code></td>
</tr>
</table>
<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#AlphaChannelData">AlphaChannelData</a></b>: <a  href="CastleImages.html#TAlphaChannel">TAlphaChannel</a>; override;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>procedure <b><a  href="X3DNodes.TAbstractTexture2DNode.html#LoadTextureData">LoadTextureData</a></b>(out WasCacheUsed: boolean); virtual;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#GetRepeatS">GetRepeatS</a></b>: boolean; virtual; abstract;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#GetRepeatT">GetRepeatT</a></b>: boolean; virtual; abstract;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>procedure <b><a  href="X3DNodes.TAbstractTexture2DNode.html#SetRepeatS">SetRepeatS</a></b>(const Value: boolean); virtual; abstract;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>procedure <b><a  href="X3DNodes.TAbstractTexture2DNode.html#SetRepeatT">SetRepeatT</a></b>(const Value: boolean); virtual; abstract;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a  href="X3DNodes.TAbstractTexture2DNode.html#CreateNode">CreateNode</a></b>; override;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>destructor <b><a  href="X3DNodes.TAbstractTexture2DNode.html#Destroy">Destroy</a></b>; override;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#TextureImage">TextureImage</a></b>: <a  href="CastleImages.TEncodedImage.html">TEncodedImage</a>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#IsTextureImage">IsTextureImage</a></b>: boolean;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#TextureDDS">TextureDDS</a></b>: <a  href="CastleDDS.TDDSImage.html">TDDSImage</a>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#TextureVideo">TextureVideo</a></b>: <a  href="CastleVideos.TVideo.html">TVideo</a>;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#IsTextureVideo">IsTextureVideo</a></b>: boolean;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a  href="X3DNodes.TAbstractTexture2DNode.html#TextureProperties">TextureProperties</a></b>: <a  href="X3DNodes.TTexturePropertiesNode.html">TTexturePropertiesNode</a>; virtual;</code></td>
</tr>
</table>
<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="X3DNodes.TAbstractTexture2DNode.html#IsTextureLoaded">IsTextureLoaded</a></b>: boolean
      read FIsTextureLoaded write SetIsTextureLoaded;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="X3DNodes.TAbstractTexture2DNode.html#RepeatS">RepeatS</a></b>: boolean read <a  href="X3DNodes.TAbstractTexture2DNode.html#GetRepeatS">GetRepeatS</a> write <a  href="X3DNodes.TAbstractTexture2DNode.html#SetRepeatS">SetRepeatS</a>;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="X3DNodes.TAbstractTexture2DNode.html#RepeatT">RepeatT</a></b>: boolean read <a  href="X3DNodes.TAbstractTexture2DNode.html#GetRepeatT">GetRepeatT</a> write <a  href="X3DNodes.TAbstractTexture2DNode.html#SetRepeatT">SetRepeatT</a>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a  href="X3DNodes.TAbstractTexture2DNode.html#TextureUsedFullUrl">TextureUsedFullUrl</a></b>: string read <a  href="X3DNodes.TAbstractTexture2DNode.html#FTextureUsedFullUrl">FTextureUsedFullUrl</a>;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Fields</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="FTextureUsedFullUrl"></a><code><b>FTextureUsedFullUrl</b>: string;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<h3 class="detail">Methods</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="AlphaChannelData"></a><code>function <b>AlphaChannelData</b>: <a  href="CastleImages.html#TAlphaChannel">TAlphaChannel</a>; override;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="LoadTextureData"></a><code>procedure <b>LoadTextureData</b>(out WasCacheUsed: boolean); virtual;</code></td>
</tr>
<tr><td colspan="2">
<p>
Loads texture data (image or video file).

<p>It should set either FTextureImage or FTextureVideo to something non-nil (don't care here about the previous value of these fields &mdash; it's for sure <code>Nil</code>). If FTextureImage is set, you can also set FTextureDDS. If you leave them as <code>Nil</code>, this means that loading failed (and <a class="normal" href="CastleWarnings.html#OnWarning">OnWarning</a> didn't cause an exception). You should also set FAlphaChannelData.

<p>You do not care in this method about things like IsImageLoaded &mdash; this method should just always, unconditionally, make everything it can do to load texture data from file(s).

<p>You can use <a class="normal" href="CastleWarnings.html#OnWarning">OnWarning</a> inside, so we're prepared that this may even exit with exception (since <a class="normal" href="CastleWarnings.html#OnWarning">OnWarning</a> can raise exception).

<p>If you set FTextureImage, you have to set it to something returned by <a class="normal" href="CastleTextureImages.html#LoadTextureImage">LoadTextureImage</a>. See <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureImage">TextureImage</a> docs.

<p>Set WasCacheUsed here. <code>True</code> means you loaded the data using Cache. For FTextureVideo, it's Cache property should also be set to our Cache, this happens automatically in Video_IncReference.

<p>Also, set <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#FTextureUsedFullUrl">FTextureUsedFullUrl</a> here.

<p>In this class, this simply produces <a class="normal" href="CastleWarnings.html#OnWarning">OnWarning</a> with &quot;not implemented&quot; message and returns <code>Nil</code>. It's not declared as abstract, because there may be classes descending from this, and we want to at least be able to parse them and then ignore (while not overriden abstract method would cause simple crashes).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="GetRepeatS"></a><code>function <b>GetRepeatS</b>: boolean; virtual; abstract;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="GetRepeatT"></a><code>function <b>GetRepeatT</b>: boolean; virtual; abstract;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="SetRepeatS"></a><code>procedure <b>SetRepeatS</b>(const Value: boolean); virtual; abstract;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="SetRepeatT"></a><code>procedure <b>SetRepeatT</b>(const Value: boolean); virtual; abstract;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="CreateNode"></a><code>procedure <b>CreateNode</b>; override;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Destroy"></a><code>destructor <b>Destroy</b>; override;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="TextureImage"></a><code>function <b>TextureImage</b>: <a  href="CastleImages.TEncodedImage.html">TEncodedImage</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
<code>TextureImage</code>, <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureDDS">TextureDDS</a> and <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureVideo">TextureVideo</a> contain actual texture data. <code>TextureImage</code> may come from inline VRML texture or could be loaded from file (including from some URL), this doesn't concern you here.

<p>Calls to <code>TextureImage</code>, <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureVideo">TextureVideo</a>, <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#IsTextureImage">IsTextureImage</a>, <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#IsTextureVideo">IsTextureVideo</a>, <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureDDS">TextureDDS</a> will automatically load the data, so in simple situations you really don't need to do anything. Just check and use them when you want, and things will just work. See <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#IsTextureLoaded">IsTextureLoaded</a> for more control about loading / unloading.

<p>Note that either one of <code>TextureImage</code> or <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureVideo">TextureVideo</a> may be <code>Nil</code>, if the other one is loaded. Or when loading failed (warning will be reported by <a class="normal" href="CastleWarnings.html#OnWarning">OnWarning</a>). <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#IsTextureImage">IsTextureImage</a> checks that <code>TextureImage</code> is non-nil (so it's successfully loaded) and additionally that texture size is not zero. Similar for <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#IsTextureVideo">IsTextureVideo</a>.

<p><code>TextureImage</code> may have any class allowed by <a class="normal" href="CastleTextureImages.html#LoadTextureImage">LoadTextureImage</a>.

<p></p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="IsTextureImage"></a><code>function <b>IsTextureImage</b>: boolean;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="TextureDDS"></a><code>function <b>TextureDDS</b>: <a  href="CastleDDS.TDDSImage.html">TDDSImage</a>;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="TextureVideo"></a><code>function <b>TextureVideo</b>: <a  href="CastleVideos.TVideo.html">TVideo</a>;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="IsTextureVideo"></a><code>function <b>IsTextureVideo</b>: boolean;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="TextureProperties"></a><code>function <b>TextureProperties</b>: <a  href="X3DNodes.TTexturePropertiesNode.html">TTexturePropertiesNode</a>; virtual;</code></td>
</tr>
<tr><td colspan="2">
<p>
Returns <code>TextureProperties</code> node, if this node has some &quot;<code>textureProperties</code>&quot; field and it specifies <code>TextureProperties</code> node. Otherwise returns <code>Nil</code>.</p>
</td></tr>
</table>
<h3 class="detail">Properties</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="IsTextureLoaded"></a><code>property <b>IsTextureLoaded</b>: boolean
      read FIsTextureLoaded write SetIsTextureLoaded;</code></td>
</tr>
<tr><td colspan="2">
<p>
Is the texture data already loaded. Since the texture will be loaded automatically, you're usually not interested in this property. You can read it to e.g. predict if next <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureImage">TextureImage</a> / <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureVideo">TextureVideo</a> call may take a long time. (You know that if <code>IsTextureLoaded</code> = <code>True</code> then <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureImage">TextureImage</a> just returns ready image instantly).

<p>You can also set <code>IsTextureLoaded</code>. Setting to <code>True</code> means that you request the texture to be loaded <i>now</i>, if it's not loaded already. Setting to <code>False</code> may be useful if you want to release resources (e.g. when you want to keep TTextureNode instance loaded but you know that you will not need <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureImage">TextureImage</a> / <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureDDS">TextureDDS</a> / <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureVideo">TextureVideo</a> anymore). You can also set it to <code>False</code> and then back to <code>True</code> if you want to request reloading the texture from URL (e.g. if you suspect that the URL contents changed).

<p>Note that <code>IsTextureLoaded</code> is set to <code>True</code>, even if actual loading failed. You still have to check afterwards <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#IsTextureImage">IsTextureImage</a> and <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#IsTextureVideo">IsTextureVideo</a> to know if loading was actually successfull. This is deliberate &mdash; it means that each call to <a class="normal" href="X3DNodes.TAbstractTexture2DNode.html#TextureImage">TextureImage</a> etc. will not unnecessarily read the disk (or even connect to internet) when the file does not exist. Also, the loading errors reported by <a class="normal" href="CastleWarnings.html#OnWarning">OnWarning</a> will not be repeated &mdash; they will occur only once, when <code>IsTextureLoaded</code> changes from <code>False</code> to <code>True</code>.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="RepeatS"></a><code>property <b>RepeatS</b>: boolean read <a  href="X3DNodes.TAbstractTexture2DNode.html#GetRepeatS">GetRepeatS</a> write <a  href="X3DNodes.TAbstractTexture2DNode.html#SetRepeatS">SetRepeatS</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Whether the texture <code>repeats</code> or clamps in given direction. Getting or setting this is the most comfortable way to change underlying node fields, setting this automatically does all necessary (sends events etc., see TVRMLField.Send). </p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="RepeatT"></a><code>property <b>RepeatT</b>: boolean read <a  href="X3DNodes.TAbstractTexture2DNode.html#GetRepeatT">GetRepeatT</a> write <a  href="X3DNodes.TAbstractTexture2DNode.html#SetRepeatT">SetRepeatT</a>;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a  href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="TextureUsedFullUrl"></a><code>property <b>TextureUsedFullUrl</b>: string read <a  href="X3DNodes.TAbstractTexture2DNode.html#FTextureUsedFullUrl">FTextureUsedFullUrl</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Once the texture data (image or video) is loaded, this is set to the URL that was used to load, or '' if no URL was used. &quot;No URL was used&quot; may mean that no URL was valid, or inlined image was used.

<p>This is always a full, expanded (i.e. not relative) URL.

<p>In case of data: URLs, this doesn't contain actual data (it would be too long then, and <code>TextureUsedFullUrl</code> is mainly for showing to the user), it's cutted.</p>
</td></tr>
</table>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["trackPageView"]);
  _paq.push(["enableLinkTracking"]);

  (function() {
    var u=(("https:" == document.location.protocol) ? "https" : "http") + "://michalis.ii.uni.wroc.pl/piwik-castle-engine/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "1"]);
    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Piwik Code -->

<noscript>
<!-- Piwik Image Tracker -->
<img src="http://michalis.ii.uni.wroc.pl/piwik-castle-engine/piwik.php?idsite=1&amp;rec=1" style="border:0" alt="" />
<!-- End Piwik -->
</noscript>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2015-06-15 04:43:15</em>
</span>
</td></tr></table></body></html>