Pioneer
Loading...
Searching...
No Matches
LoaderDefinitions.h
Go to the documentation of this file.
1// Copyright © 2008-2024 Pioneer Developers. See AUTHORS.txt for details
2// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4#ifndef _LOADERDEFINITIONS_H_
5#define _LOADERDEFINITIONS_H_
6/*
7 * Data strcutrures used by Loader
8 */
9#include "Color.h"
10
11#include <string>
12#include <vector>
13
14namespace SceneGraph {
15
17 MaterialDefinition(const std::string &n) :
18 name(n),
19 tex_diff(""),
20 tex_spec(""),
21 tex_glow(""),
22 tex_ambi(""),
23 tex_norm(""),
24 diffuse(Color::WHITE),
25 specular(Color::WHITE),
26 ambient(Color::BLANK),
27 emissive(Color::BLANK),
28 shininess(100),
29 opacity(100),
30 alpha_test(false),
31 unlit(false),
32 use_pattern(false)
33 {}
34 std::string name;
35 std::string tex_diff;
36 std::string tex_spec;
37 std::string tex_glow;
38 std::string tex_ambi;
39 std::string tex_norm;
44 unsigned int shininess; //specular power, 0-128
45 unsigned int opacity; //0-100
47 bool unlit;
49 };
50
52 LodDefinition(float size) :
53 pixelSize(size)
54 {}
55 float pixelSize;
56 std::vector<std::string> meshNames;
57 };
58
60 AnimDefinition(const std::string &name_, double start_, double end_, bool loop_) :
61 name(name_),
62 start(start_),
63 end(end_),
64 loop(loop_)
65 {}
66 std::string name;
67 double start;
68 double end;
69 bool loop;
70 };
71
73 std::string name;
74 std::vector<LodDefinition> lodDefs;
75 std::vector<MaterialDefinition> matDefs;
76 std::vector<std::string> collisionDefs;
77 std::vector<AnimDefinition> animDefs;
78 };
79
80} // namespace SceneGraph
81
82#endif
Definition: CityOnPlanet.h:32
Definition: Color.h:66
Definition: LoaderDefinitions.h:59
AnimDefinition(const std::string &name_, double start_, double end_, bool loop_)
Definition: LoaderDefinitions.h:60
bool loop
Definition: LoaderDefinitions.h:69
double end
Definition: LoaderDefinitions.h:68
double start
Definition: LoaderDefinitions.h:67
std::string name
Definition: LoaderDefinitions.h:66
Definition: LoaderDefinitions.h:51
LodDefinition(float size)
Definition: LoaderDefinitions.h:52
float pixelSize
Definition: LoaderDefinitions.h:55
std::vector< std::string > meshNames
Definition: LoaderDefinitions.h:56
Definition: LoaderDefinitions.h:16
bool use_pattern
Definition: LoaderDefinitions.h:48
Color specular
Definition: LoaderDefinitions.h:41
std::string tex_ambi
Definition: LoaderDefinitions.h:38
std::string name
Definition: LoaderDefinitions.h:34
std::string tex_glow
Definition: LoaderDefinitions.h:37
Color diffuse
Definition: LoaderDefinitions.h:40
unsigned int opacity
Definition: LoaderDefinitions.h:45
MaterialDefinition(const std::string &n)
Definition: LoaderDefinitions.h:17
unsigned int shininess
Definition: LoaderDefinitions.h:44
Color ambient
Definition: LoaderDefinitions.h:42
std::string tex_diff
Definition: LoaderDefinitions.h:35
std::string tex_spec
Definition: LoaderDefinitions.h:36
bool unlit
Definition: LoaderDefinitions.h:47
std::string tex_norm
Definition: LoaderDefinitions.h:39
Color emissive
Definition: LoaderDefinitions.h:43
bool alpha_test
Definition: LoaderDefinitions.h:46
Definition: LoaderDefinitions.h:72
std::vector< LodDefinition > lodDefs
Definition: LoaderDefinitions.h:74
std::vector< std::string > collisionDefs
Definition: LoaderDefinitions.h:76
std::vector< MaterialDefinition > matDefs
Definition: LoaderDefinitions.h:75
std::string name
Definition: LoaderDefinitions.h:73
std::vector< AnimDefinition > animDefs
Definition: LoaderDefinitions.h:77