Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2010-02-23 20:30:57 +0000
committerStijn Buys <ingar@osirion.org>2010-02-23 20:30:57 +0000
commit83757353860fa447c36d4078602efea36d7da94e (patch)
treed1d72ae7714bce8efb250c03a68f080bb4396415 /src/model/parts.h
parentfe229598d7437a85988eb9255cd0f6bdb6e07cb7 (diff)
renamed model::Parts to model::Tags
Diffstat (limited to 'src/model/parts.h')
-rw-r--r--src/model/parts.h468
1 files changed, 0 insertions, 468 deletions
diff --git a/src/model/parts.h b/src/model/parts.h
deleted file mode 100644
index 4df4672..0000000
--- a/src/model/parts.h
+++ /dev/null
@@ -1,468 +0,0 @@
-/*
- model/classes.h
- This file is part of the Osirion project and is distributed under
- the terms of the GNU General Public License version 2
-*/
-
-#ifndef __INCLUDED_MODEL_PARTS_H__
-#define __INCLUDED_MODEL_PARTS_H__
-
-#include "math/axis.h"
-#include "math/color.h"
-#include "math/vector3f.h"
-
-namespace model
-{
-
-/* ---- globals ---------------------------------------------------- */
-
-// FIXME this should end up in material.h
-
-/**
- * @brief
- * culling parameter values
- * Culling is a paremeter used by flares and particles to indicate
- * with side of the polygons should be culled during rendering
- */
-enum Cull { CullNone = 0, CullBack = 1, CullFront = 2 };
-
-/* ---- class Part ------------------------------------------------- */
-
-/**
- * @brief a special part of a model
- */
-class Part
-{
-public:
- /**
- * @brief default constructor
- */
- inline Part() : part_location() {
- }
-
- /**
- * @brief copy constructor
- */
- inline Part(const Part& other) : part_location(other.location()) {
- }
-
- /**
- * @brief constructor with location
- * @param location location of this part within the parent model
- */
- inline Part(const math::Vector3f& location) : part_location(location) {
- }
-
- /* ---- inspectors ----------------------------------------- */
-
- /**
- * @brief location of this part within the parent model
- */
- inline const math::Vector3f& location() const {
- return part_location;
- }
-
- /* ---- mutators ------------------------------------------- */
- /**
- * @brief set the location within the parent model
- */
- inline void set_location(const math::Vector3f& location) {
- part_location.assign(location);
- }
-
- /**
- * @brief set the location within the parent model
- */
- inline void set_location(const float x, const float y, const float z) {
- part_location.assign(x, y, z);
- }
-
- /* ---- actors --------------------------------------------- */
-
- /**
- * @brief mutable reference to the location of this part within the parent model
- */
- inline math::Vector3f& get_location() {
- return part_location;
- }
-
-private:
- math::Vector3f part_location;
-};
-
-/* ---- class Light ------------------------------------------------ */
-
-/// an exterior light
-class Light : public Part
-{
-public:
- /**
- * @brief default constructor
- */
- Light();
-
- /**
- * @brief copy constructor
- */
- Light(const Light& other);
-
- /**
- * @brief destructor
- */
- ~Light();
-
- /* ---- inspectors ----------------------------------------- */
-
- /// light color
- inline const math::Color& color() const {
- return light_color;
- };
-
- /// true if this is a strobe light
- inline bool strobe() const {
- return light_strobe;
- }
-
- /// true if this light has entity color
- inline bool entity() const {
- return light_entity;
- }
-
- /// true if this light has engine activation
- inline bool engine() const {
- return light_engine;
- }
-
- /// size of the light, default is 1.0f
- inline float radius() const {
- return light_radius;
- }
-
- /// strobe time offset, in seconds
- inline float offset() const {
- return light_offset;
- }
-
- /// strobe frequency in strobes per second, default is 1.0f
- inline float frequency() const {
- return light_frequency;
- }
-
- /// fraction a strobe light will be on, default is 0.5f
- inline float time() const {
- return light_time;
- }
-
- /// flare texture number
- inline unsigned int flare() const {
- return light_flare;
- }
-
- /// render texture id
- inline size_t texture() const {
- return light_texture;
- }
- /* ---- mutators ------------------------------------------- */
-
- /**
- * @brief set strobe color on or off
- */
- inline void set_strobe(const bool strobe) {
- light_strobe = strobe;
- }
-
- /**
- * @brief set entity color on or off
- */
- inline void set_entity(const bool entity) {
- light_entity = entity;
- }
-
- /**
- * @brief set engine activation on or off
- */
- inline void set_engine(const bool engine) {
- light_engine = engine;
- }
-
- /**
- * @brief set the light radius
- */
- inline void set_radius(const float radius) {
- light_radius = radius;
- }
-
- /**
- * @brief set the light strobe frequency, in strobes per second
- */
- inline void set_frequency(const float frequency) {
- light_frequency = frequency;
- }
-
- /**
- * @brief set the light on time, from 0.0 (always off) to 1.0 (always on)
- */
- inline void set_time(const float time) {
- light_radius = time;
- }
-
- /**
- * @brief set the light strobe time offset, in seconds
- */
- inline void set_offset(const float offset) {
- light_offset = offset;
- }
-
- /**
- * @brief set the flare texture number
- */
- inline void set_flare(unsigned int flare) {
- light_flare = flare;
- }
-
- /**
- * @brief set the render texture id
- */
- inline void set_texture(size_t texture) {
- light_texture = texture;
- }
-
- /**
- * @brief mutable reference to the color
- */
- inline math::Color& get_color() {
- return light_color;
- }
-
-private:
- bool light_strobe;
- bool light_engine;
- bool light_entity;
-
- unsigned int light_flare;
-
- float light_radius;
- float light_frequency;
- float light_offset;
- float light_time;
-
- math::Color light_color;
-
- size_t light_texture;
-};
-
-/* ---- class Flare ------------------------------------------------ */
-
-/// a flare is a directional light
-class Flare : public Light
-{
-public:
- Flare();
-
- /**
- * @brief copy constructor
- */
- Flare(const Flare& other);
-
- ~Flare();
-
- /* ---- inspectors ----------------------------------------- */
-
- inline const math::Axis &axis() const {
- return flare_axis;
- }
-
- inline Cull cull() const {
- return flare_cull;
- }
-
- /* ---- mutators ------------------------------------------- */
-
- inline void set_cull(const Cull cull) {
- flare_cull = cull;
- }
-
- /* ---- actors --------------------------------------------- */
-
- /**
- * @brief mutable reference to the axis
- */
- inline math::Axis& get_axis() {
- return flare_axis;
- }
-
-private:
- Cull flare_cull;
- math::Axis flare_axis;
-};
-
-/* ---- class Particles -------------------------------------------- */
-
-/// a particle system
-class Particles : public Part
-{
-public:
- Particles();
-
- Particles(const math::Vector3f & location);
-
- ~Particles();
-
- inline const math::Axis &axis() const {
- return particles_axis;
- }
-
- inline const std::string& script() const {
- return particles_script;
- }
-
- inline bool entity() const {
- return particles_entity;
- }
-
- inline bool engine() const {
- return particles_engine;
- }
-
- inline float radius() const {
- return particles_radius;
- }
-
- inline Cull cull() const {
- return particles_cull;
- }
-
- /* ---- mutators ------------------------------------------- */
-
- /**
- * @brief set entity color on or off
- */
- inline void set_entity(const bool entity) {
- particles_entity = entity;
- }
-
- /**
- * @brief set engine activation on or off
- */
- inline void set_engine(const bool engine) {
- particles_engine = engine;
- }
-
- inline void set_radius(const float radius) {
- particles_radius = radius;
- }
-
- inline void set_cull(const Cull cull) {
- particles_cull = cull;
- }
-
- inline void set_script(const std::string& script) {
- particles_script.assign(script);
- }
-
- /* ---- actors --------------------------------------------- */
-
- /**
- * @brief mutable reference to the axis
- */
- inline math::Axis& get_axis() {
- return particles_axis;
- }
-
-private:
- bool particles_entity;
- bool particles_engine;
-
- Cull particles_cull;
-
- float particles_radius;
-
- math::Axis particles_axis;
- std::string particles_script;
-};
-
-/* ---- class Dock ------------------------------------------------- */
-
-/// a docking location
-class Dock : public Part
-{
-public:
- Dock();
-
- /**
- * @brief copy constructor
- */
- Dock(const Dock& other);
-
- ~Dock();
-
- /// dock radius, default is 0.01f
- inline float radius() const {
- return dock_radius;
- }
-
- /// set dock radius
- inline void set_radius(const float radius) {
- dock_radius = radius;
- }
-
-private:
- float dock_radius;
-};
-
-/* ---- class SubModel --------------------------------------------- */
-
-/// a submodel
-class SubModel : public Part
-{
-public:
- SubModel();
-
- SubModel(const SubModel& other);
-
- ~SubModel();
-
- inline const std::string& name() const {
- return submodel_name;
- }
-
- inline const math::Axis& axis() const {
- return submodel_axis;
- }
-
- inline float scale() const {
- return submodel_scale;
- }
-
-
- inline void set_scale(const float scale) {
- submodel_scale = scale;
- }
-
- inline void set_name(const std::string& name) {
- submodel_name.assign(name);
- }
-
- inline void set_axis(const math::Axis& axis) {
- submodel_axis.assign(axis);
- }
-
- /* ---- actors --------------------------------------------- */
-
- /**
- * @brief mutable reference to the axis
- */
- inline math::Axis& get_axis() {
- return submodel_axis;
- }
-
-private:
- float submodel_scale;
- std::string submodel_name;
- math::Axis submodel_axis;
-};
-
-}
-
-#endif // __INCLUDED_MODEL_PARTS_H__
-