svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22701:22704
[blender.git] / source / gameengine / Converter / BlenderWorldInfo.cpp
1 /**
2  * $Id$
3  * ***** BEGIN GPL LICENSE BLOCK *****
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software Foundation,
17  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18  *
19  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
20  * All rights reserved.
21  *
22  * The Original Code is: all of this file.
23  *
24  * Contributor(s): none yet.
25  *
26  * ***** END GPL LICENSE BLOCK *****
27  */
28
29 #include <stdio.h>  // printf()
30
31 #include "BlenderWorldInfo.h"
32 #include "KX_BlenderGL.h"
33
34 #ifdef HAVE_CONFIG_H
35 #include <config.h>
36 #endif
37
38 /* This little block needed for linking to Blender... */
39 #ifdef WIN32
40 #include "BLI_winstuff.h"
41 #endif
42
43 /* This list includes only data type definitions */
44 #include "DNA_object_types.h"
45 #include "DNA_material_types.h"
46 #include "DNA_image_types.h"
47 #include "DNA_lamp_types.h"
48 #include "DNA_group_types.h"
49 #include "DNA_scene_types.h"
50 #include "DNA_camera_types.h"
51 #include "DNA_property_types.h"
52 #include "DNA_text_types.h"
53 #include "DNA_sensor_types.h"
54 #include "DNA_controller_types.h"
55 #include "DNA_actuator_types.h"
56 #include "DNA_mesh_types.h"
57 #include "DNA_meshdata_types.h"
58 #include "DNA_view3d_types.h"
59 #include "DNA_world_types.h"
60 #include "DNA_screen_types.h"
61
62 #include "BKE_global.h"
63 /* end of blender include block */
64
65
66 BlenderWorldInfo::BlenderWorldInfo(struct World* blenderworld)
67 {
68         if (blenderworld)
69         {
70                 m_hasworld = true;
71
72                 // do we have mist?
73                 if ((blenderworld->mode) & WO_MIST)
74                 {
75                         m_hasmist = true;
76                         m_miststart = blenderworld->miststa;
77                         m_mistdistance = blenderworld->mistdist;
78                         m_mistred = blenderworld->horr;
79                         m_mistgreen = blenderworld->horg;
80                         m_mistblue = blenderworld->horb;
81                 }
82                 else
83                 {
84                         m_hasmist = false;
85                         m_miststart = 0.0;
86                         m_mistdistance = 0.0;
87                         m_mistred = 0.0;
88                         m_mistgreen = 0.0;
89                         m_mistblue = 0.0;
90                 }
91
92                 m_backgroundred = blenderworld->horr;
93                 m_backgroundgreen = blenderworld->horg;
94                 m_backgroundblue = blenderworld->horb;
95                 
96                 m_ambientred = blenderworld->ambr;
97                 m_ambientgreen = blenderworld->ambg;
98                 m_ambientblue = blenderworld->ambb;
99         }
100         else
101         {
102                 m_hasworld = false;
103         }
104 }
105
106
107
108 BlenderWorldInfo::~BlenderWorldInfo()
109 {
110
111 }
112
113
114 bool BlenderWorldInfo::hasWorld()
115 {
116         return m_hasworld;
117 }
118
119
120
121 bool BlenderWorldInfo::hasMist()
122 {
123         return m_hasmist;
124 }
125
126
127
128 float BlenderWorldInfo::getBackColorRed()
129 {
130         return m_backgroundred;
131 }
132
133
134
135 float BlenderWorldInfo::getBackColorGreen()
136 {
137         return m_backgroundgreen;
138 }  
139
140
141
142 float BlenderWorldInfo::getBackColorBlue()
143 {
144         return m_backgroundblue;
145 }  
146
147
148 float BlenderWorldInfo::getAmbientColorRed()
149 {
150         return m_ambientred;
151 }
152
153 float BlenderWorldInfo::getAmbientColorGreen()
154 {
155         return m_ambientgreen;
156 }
157
158 float BlenderWorldInfo::getAmbientColorBlue()
159 {
160         return m_ambientblue;
161 }
162
163 float BlenderWorldInfo::getMistStart()
164 {
165         return m_miststart;
166 }
167
168
169
170 float BlenderWorldInfo::getMistDistance()
171 {
172         return m_mistdistance;
173 }  
174     
175
176     
177 float BlenderWorldInfo::getMistColorRed()
178 {
179         return m_mistred;
180 }
181
182
183
184 float BlenderWorldInfo::getMistColorGreen()
185 {
186         return m_mistgreen;
187 }   
188
189
190
191 float BlenderWorldInfo::getMistColorBlue()
192 {
193         return m_mistblue;
194 }
195
196
197         void    
198 BlenderWorldInfo::setMistStart(
199         float d
200 ) {
201         m_miststart = d;
202 }
203
204
205         void
206 BlenderWorldInfo::setMistDistance(
207         float d
208 ) {
209         m_mistdistance = d;
210 }
211
212
213         void    
214 BlenderWorldInfo::setMistColorRed(
215         float d
216 ) {
217         m_mistred = d;
218 }
219
220
221         void
222 BlenderWorldInfo::setMistColorGreen(
223         float d
224 ) {
225         m_mistgreen = d;
226 }
227
228
229         void    
230 BlenderWorldInfo::setMistColorBlue(
231         float d
232 ) {
233         m_mistblue = d;
234 }