Overte C++ Documentation
EntityItemPropertiesDefaults.h
1 //
2 // EntityItemPropertiesDefaults.h
3 // libraries/entities/src
4 //
5 // Created by Andrew Meadows on 2015.01.12
6 // Copyright 2015 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 #ifndef hifi_EntityItemPropertiesDefaults_h
13 #define hifi_EntityItemPropertiesDefaults_h
14 
15 #include <stdint.h>
16 
17 #include <glm/glm.hpp>
18 
19 #include <NumericalConstants.h>
20 
21 #include "Sampler.h"
22 
23 // There is a minor performance gain when comparing/copying an existing glm::vec3 rather than
24 // creating a new one on the stack so we declare the ZERO_VEC3 constant as an optimization.
25 const glm::vec3 ENTITY_ITEM_ZERO_VEC3 = glm::vec3(0.0f);
26 const glm::vec3 ENTITY_ITEM_ONE_VEC3 = glm::vec3(1.0f);
27 const glm::vec3 ENTITY_ITEM_HALF_VEC3 = glm::vec3(0.5f);
28 
29 const QVector<glm::vec3> ENTITY_ITEM_DEFAULT_EMPTY_VEC3_QVEC = QVector<glm::vec3>();
30 
31 const bool ENTITY_ITEM_DEFAULT_LOCKED = false;
32 const QString ENTITY_ITEM_DEFAULT_USER_DATA = QString("");
33 const QString ENTITY_ITEM_DEFAULT_PRIVATE_USER_DATA = QString("");
34 const QUuid ENTITY_ITEM_DEFAULT_SIMULATOR_ID = QUuid();
35 
36 const glm::u8vec3 ENTITY_ITEM_DEFAULT_COLOR = { 255, 255, 255 };
37 const float ENTITY_ITEM_DEFAULT_ALPHA = 1.0f;
38 const bool ENTITY_ITEM_DEFAULT_VISIBLE = true;
39 const bool ENTITY_ITEM_DEFAULT_VISIBLE_IN_SECONDARY_CAMERA = true;
40 const bool ENTITY_ITEM_DEFAULT_CAN_CAST_SHADOW { true };
41 
42 const QString ENTITY_ITEM_DEFAULT_SCRIPT = QString("");
43 const quint64 ENTITY_ITEM_DEFAULT_SCRIPT_TIMESTAMP = 0;
44 const QString ENTITY_ITEM_DEFAULT_SERVER_SCRIPTS = QString("");
45 const QString ENTITY_ITEM_DEFAULT_COLLISION_SOUND_URL = QString("");
46 
47 const float ENTITY_ITEM_MIN_REGISTRATION_POINT = 0.0f;
48 const float ENTITY_ITEM_MAX_REGISTRATION_POINT = 1.0f;
49 const glm::vec3 ENTITY_ITEM_DEFAULT_REGISTRATION_POINT = ENTITY_ITEM_HALF_VEC3; // center
50 
51 const float ENTITY_ITEM_IMMORTAL_LIFETIME = -1.0f;
52 const float ENTITY_ITEM_DEFAULT_LIFETIME = ENTITY_ITEM_IMMORTAL_LIFETIME;
53 
54 const glm::vec3 ENTITY_ITEM_DEFAULT_POSITION = ENTITY_ITEM_ZERO_VEC3;
55 const glm::quat ENTITY_ITEM_DEFAULT_ROTATION;
56 const float ENTITY_ITEM_DEFAULT_WIDTH = 0.1f;
57 const float ENTITY_ITEM_MIN_DIMENSION = 0.001f;
58 const glm::vec3 ENTITY_ITEM_DEFAULT_DIMENSIONS = glm::vec3(ENTITY_ITEM_DEFAULT_WIDTH);
59 const float ENTITY_ITEM_DEFAULT_VOLUME = ENTITY_ITEM_DEFAULT_WIDTH * ENTITY_ITEM_DEFAULT_WIDTH * ENTITY_ITEM_DEFAULT_WIDTH;
60 const float ENTITY_ITEM_MIN_VOLUME = ENTITY_ITEM_MIN_DIMENSION * ENTITY_ITEM_MIN_DIMENSION * ENTITY_ITEM_MIN_DIMENSION;
61 
62 const float ENTITY_ITEM_MAX_DENSITY = 100000.0f; // kg/m^3 more than 5 times density of tungsten.
63 const float ENTITY_ITEM_MIN_DENSITY = 0.1f; // kg/m^3 ten times less than air density.
64 const float ENTITY_ITEM_DEFAULT_DENSITY = 1000.0f; // density of water.
65 const float ENTITY_ITEM_DEFAULT_MASS = ENTITY_ITEM_DEFAULT_DENSITY * ENTITY_ITEM_DEFAULT_VOLUME;
66 
67 const glm::vec3 ENTITY_ITEM_DEFAULT_VELOCITY = ENTITY_ITEM_ZERO_VEC3;
68 const glm::vec3 ENTITY_ITEM_DEFAULT_ANGULAR_VELOCITY = ENTITY_ITEM_ZERO_VEC3;
69 const glm::vec3 ENTITY_ITEM_DEFAULT_GRAVITY = ENTITY_ITEM_ZERO_VEC3;
70 const glm::vec3 ENTITY_ITEM_DEFAULT_ACCELERATION = ENTITY_ITEM_ZERO_VEC3;
71 const float ENTITY_ITEM_MIN_DAMPING = 0.0f;
72 const float ENTITY_ITEM_MAX_DAMPING = 1.0f;
73 const float ENTITY_ITEM_DEFAULT_DAMPING = 0.39347f; // approx timescale = 2.0 sec (see damping timescale formula in header)
74 const float ENTITY_ITEM_DEFAULT_ANGULAR_DAMPING = 0.39347f; // approx timescale = 2.0 sec (see damping timescale formula in header)
75 
76 const float ENTITY_ITEM_MIN_RESTITUTION = 0.0f;
77 const float ENTITY_ITEM_MAX_RESTITUTION = 0.99f;
78 const float ENTITY_ITEM_DEFAULT_RESTITUTION = 0.5f;
79 
80 const float ENTITY_ITEM_MIN_FRICTION = 0.0f;
81 const float ENTITY_ITEM_MAX_FRICTION = 10.0f;
82 const float ENTITY_ITEM_DEFAULT_FRICTION = 0.5f;
83 
84 const bool ENTITY_ITEM_DEFAULT_COLLISIONLESS = false;
85 const bool ENTITY_ITEM_DEFAULT_DYNAMIC = false;
86 const bool ENTITY_ITEM_DEFAULT_BILLBOARDED = false;
87 
88 const QString ENTITY_ITEM_DEFAULT_NAME = QString("");
89 
90 const uint16_t ENTITY_ITEM_DEFAULT_DPI = 30;
91 
92 const QUuid ENTITY_ITEM_DEFAULT_LAST_EDITED_BY = QUuid();
93 
94 const uint16_t ENTITY_ITEM_DEFAULT_PARENT_INDEX = -1;
95 
96 const bool ENTITY_ITEM_DEFAULT_RELAY_PARENT_JOINTS = false;
97 
98 const bool ENTITY_ITEM_DEFAULT_CLONEABLE = false;
99 const float ENTITY_ITEM_DEFAULT_CLONE_LIFETIME = 300.0f;
100 const int ENTITY_ITEM_DEFAULT_CLONE_LIMIT = 0;
101 const bool ENTITY_ITEM_DEFAULT_CLONE_DYNAMIC = false;
102 const bool ENTITY_ITEM_DEFAULT_CLONE_AVATAR_ENTITY = false;
103 const QUuid ENTITY_ITEM_DEFAULT_CLONE_ORIGIN_ID = QUuid();
104 
105 const glm::u8vec3 ENTITY_ITEM_DEFAULT_FADE_COLOR = glm::u8vec3(78, 215, 255);
106 const glm::u8vec3 ENTITY_ITEM_DEFAULT_AVATAR_FADE_INNER_COLOR = glm::u8vec3(255, 161, 33);
107 const glm::u8vec3 ENTITY_ITEM_DEFAULT_AVATAR_FADE_OUTER_COLOR = glm::u8vec3(255, 255, 255);
108 const glm::vec3 ENTITY_ITEM_DEFAULT_AVATAR_NOISE_SIZE = glm::vec3(10.0f, 0.01f, 10.0f);
109 const glm::vec3 ENTITY_ITEM_DEFAULT_AVATAR_NOISE_SPEED = glm::vec3(0.0f, -5.0f, 0.0f);
110 const glm::vec3 ENTITY_ITEM_DEFAULT_AVATAR_BASE_SIZE = glm::vec3(10000.f, 1.0f, 10000.0f);
111 
112 const Sampler ENTITY_ITEM_DEFAULT_SAMPLER = Sampler();
113 
114 #endif // hifi_EntityItemPropertiesDefaults_h