1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package net.jbeans.j3d.scenegraph;
24
25 /* ------------------ Import classes (packages) ------------------- *//package-summary/html">class="comment"> ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment">/* ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment"> ------------------ Import classes (packages) ------------------- */
26 import java.awt.*;
27 import java.io.*;
28 import java.lang.reflect.*;
29 import java.util.*;
30 import javax.swing.event.*;
31
32 import javax.vecmath.*;
33
34 import net.jbeans.lang.*;
35 import net.jbeans.util.*;
36 import net.jbeans.util.debug.*;
37
38
39
40
41 /***
42 * generally describe Texture in here
43 *
44 * @version $Revision: 1.3 $
45 * @author Masahiro Takatsuka (masa@jbeans.net)
46 * @see javax.media.j3d.Texture
47 * @see Serializable
48 */
49
50 public class Texture extends javax.media.j3d.Texture implements Serializable {
51 private static final boolean DEBUG = Debug.getDebugFlag(Texture.class);
52
53 static private Color3f DEFAULT_AMBIENT = new Color3f(0.2f, 0.2f, 0.2f);
54 static private Color3f DEFAULT_EMMISIVE = new Color3f(0.0f, 0.0f, 0.0f);
55 static private Color3f DEFAULT_DIFFUSE = new Color3f(1.0f, 1.0f, 1.0f);
56 static private Color3f DEFAULT_SPECULAR = new Color3f(1.0f, 1.0f, 1.0f);
57 static private float DEFUALT_SHININESS = 64;
58
59
60 transient private Color4f tmpColor;
61
62 public Texture () {
63 super();
64 initialize();
65 }
66
67 public Texture (int mipMapMode, int format, int width, int height) {
68 super(mipMapMode, format, width, height);
69
70 initialize();
71 }
72
73 private final void initialize() {
74 setCapabilities();
75 }
76
77 private final void setCapabilities() {
78 setCapability(ALLOW_BOUNDARY_COLOR_READ);
79 setCapability(ALLOW_BOUNDARY_MODE_READ);
80 setCapability(ALLOW_ENABLE_READ);
81 setCapability(ALLOW_ENABLE_WRITE);
82 setCapability(ALLOW_FILTER_READ);
83 setCapability(ALLOW_FORMAT_READ);
84 setCapability(ALLOW_IMAGE_READ);
85 setCapability(ALLOW_IMAGE_WRITE);
86 setCapability(ALLOW_MIPMAP_MODE_READ);
87 setCapability(ALLOW_SIZE_READ);
88 }
89
90 /***
91 * Serialization methods
92 */
93 private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
94 initialize();
95 }
96
97 public void setBoundaryColor(Color color) {
98 if (this.tmpColor == null) {
99 this.tmpColor = new Color4f(color);
100 } else {
101 this.tmpColor.set(color);
102 }
103 setBoundaryColor(this.tmpColor);
104 }
105
106 public Color getBoundaryColor() {
107 if (this.tmpColor == null) {
108 this.tmpColor = new Color4f();
109 }
110 getBoundaryColor(this.tmpColor);
111
112 return new Color(this.tmpColor.x, this.tmpColor.y, this.tmpColor.z, this.tmpColor.w);
113 }
114 }
115