Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.geometry / org.gvsig.fmap.geometry.api / src / main / java / org / gvsig / fmap / geom / primitive / Appearance.java @ 40767

History | View | Annotate | Download (4.12 KB)

1 40559 jjdelcerro
/**
2
 * gvSIG. Desktop Geographic Information System.
3 40435 jjdelcerro
 *
4 40559 jjdelcerro
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6 40435 jjdelcerro
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8 40559 jjdelcerro
 * as published by the Free Software Foundation; either version 3
9 40435 jjdelcerro
 * of the License, or (at your option) any later version.
10 40559 jjdelcerro
 *
11 40435 jjdelcerro
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15 40559 jjdelcerro
 *
16 40435 jjdelcerro
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18 40559 jjdelcerro
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19 40435 jjdelcerro
 * MA  02110-1301, USA.
20 40559 jjdelcerro
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23 40435 jjdelcerro
 */
24
25
package org.gvsig.fmap.geom.primitive;
26
27
import java.awt.Color;
28
import java.awt.Image;
29
30
/**
31
 * This interface serves to set the appearance of a Solid in a CityGML model.
32
 *
33
 * @author <a href="mailto:jtorres@ai2.upv.es">Jordi Torres Fabra</a>
34
 *
35
 */
36
37
public interface Appearance {
38
39
        public interface Material {
40
41
42
43
                public static final class Face {
44
                        public static final int FRONT = 0;
45
                        public static final int BACK = 1;
46
                        public static final int FRONT_AND_BACK = 2;
47
                }
48
                /**
49
                 * Gets the face to apply the material
50
                 * @return the face
51
                 */
52
                public Face getFace();
53
54
                /**
55
                 * Sets the face where the material will be applied
56
                 * @param face the face
57
                 */
58
                public void setFace(Face face);
59
                /**
60
                 * Get the ambient color of the material
61
                 * @return the ambien color
62
                 */
63
                public Color getAmbient();
64
                /**
65
                 * Set the ambient color of the material
66
                 * @param ambient the ambien color
67
                 */
68
                public void setAmbient(Color ambient);
69
                /**
70
                 * Get the diffuse color of the material
71
                 * @return the diffuse color
72
                 */
73
                public Color getDiffuse();
74
                /**
75
                 * Set the diffuse color of the material
76
                 * @param diffuse the diffuse color
77
                 */
78
                public void setDiffuse(Color diffuse);
79
                /**
80
                 * Get the specular color of the material
81
                 * @return the specular color
82
                 */
83
                public Color getSpecular();
84
                /**
85
                 * Set the specular color of the material
86
                 * @param specular the specular color
87
                 */
88
                public void setSpecular(Color specular);
89
                /**
90
                 * Get the emissive color of the material
91
                 * @return        the emissive color
92
                 */
93
                public Color getEmission();
94
                /**
95
                 * Set the emissive color of the material
96
                 * @param emission the emissive color
97
                 */
98
                public void setEmission(Color emission);
99
                /**
100
                 * Get the shininess of the material
101
                 * @return a float representing the shininess
102
                 */
103
                public float getShininess();
104
                /**
105
                 * Set the shininess of the material
106
                 * @param shininess a float representing the shininess
107
                 */
108
                public void setShininess(float shininess);
109
110
        }
111
112
        /**
113
         * Enables/disables the blending in a solid
114
         *
115
         * @param value
116
         *            the value to set
117
         */
118
        public void setEnabledBlending(boolean value);
119
120
        /**
121
         * Gets if blending is enabled/disabled
122
         *
123
         * @return a boolean representing enabled(true)/disabled(false)
124
         */
125
        public boolean getEnabledBlending();
126
127
        /**
128
         * Enables disables lighting in a solid
129
         *
130
         * @param value
131
         *            the value to set
132
         */
133
        public void setEnabledLighting(boolean value);
134
135
        /**
136
         * Gets if lighting is enabled/disabled
137
         *
138
         * @return a boolean representing enabled(true)/disabled(false)
139
         */
140
        public boolean getEnabledLighting();
141
142
        /**
143
         * Sets the material of a solid
144
         *
145
         * @param mat
146
         *            the material to set
147
         */
148
        public void setMaterial(Material mat);
149
150
        /**
151
         * Gets the material of a Solid
152
         *
153
         * @return the material
154
         */
155
        public Material getMaterial();
156
157
        /**
158
         * Add a texture to the whole Solid
159
         *
160
         * @param img
161
         *            the texture
162
         * @param stage
163
         *            the texture stage
164
         */
165
        public void addTexture(Image img, int stage);
166
167
        /**
168
         * Get the texure of a solid in a concrete stage
169
         *
170
         * @param stage
171
         *            the concrete stage
172
         * @return the texture
173
         */
174
        public Image getTexture(int stage);
175
176
}