overte/libraries/shared/src/SimulationFlags.h

66 lines
2.5 KiB
C++

//
// SimulationFlags.h
// libraries/physics/src
//
// Created by Andrew Meadows 2015.10.14
// Copyright 2015 High Fidelity, Inc.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
#ifndef hifi_SimulationFlags_h
#define hifi_SimulationFlags_h
const uint8_t YIELD_SIMULATION_PRIORITY = 1;
const uint8_t VOLUNTEER_SIMULATION_PRIORITY = YIELD_SIMULATION_PRIORITY + 1;
const uint8_t RECRUIT_SIMULATION_PRIORITY = VOLUNTEER_SIMULATION_PRIORITY + 1;
const uint8_t SCRIPT_GRAB_SIMULATION_PRIORITY = 128;
const uint8_t SCRIPT_POKE_SIMULATION_PRIORITY = SCRIPT_GRAB_SIMULATION_PRIORITY - 1;
const uint8_t PERSONAL_SIMULATION_PRIORITY = SCRIPT_GRAB_SIMULATION_PRIORITY;
const uint8_t AVATAR_ENTITY_SIMULATION_PRIORITY = PERSONAL_SIMULATION_PRIORITY;
namespace Simulation {
const uint32_t DIRTY_POSITION = 0x0001;
const uint32_t DIRTY_ROTATION = 0x0002;
const uint32_t DIRTY_LINEAR_VELOCITY = 0x0004;
const uint32_t DIRTY_ANGULAR_VELOCITY = 0x0008;
const uint32_t DIRTY_MASS = 0x0010;
const uint32_t DIRTY_COLLISION_GROUP = 0x0020;
const uint32_t DIRTY_MOTION_TYPE = 0x0040;
const uint32_t DIRTY_SHAPE = 0x0080;
const uint32_t DIRTY_LIFETIME = 0x0100;
const uint32_t DIRTY_UPDATEABLE = 0x0200;
const uint32_t DIRTY_MATERIAL = 0x00400;
const uint32_t DIRTY_PHYSICS_ACTIVATION = 0x0800; // should activate object in physics engine
const uint32_t DIRTY_SIMULATOR_ID = 0x1000; // the simulatorID has changed
const uint32_t DIRTY_SIMULATION_OWNERSHIP_PRIORITY = 0x2000; // our own bid priority has changed
// bits 17-32 are reservied for special flags
const uint32_t SPECIAL_FLAG_NO_BOOTSTRAPPING = 0x10000;
const uint32_t SPECIAL_FLAG_IN_PHYSICS_SIMULATION = 0x20000;
const uint32_t DIRTY_TRANSFORM = DIRTY_POSITION | DIRTY_ROTATION;
const uint32_t DIRTY_VELOCITIES = DIRTY_LINEAR_VELOCITY | DIRTY_ANGULAR_VELOCITY;
const uint32_t SPECIAL_FLAGS_MASK = SPECIAL_FLAG_NO_BOOTSTRAPPING | SPECIAL_FLAG_IN_PHYSICS_SIMULATION;
const uint32_t DIRTY_FLAGS_MASK = DIRTY_POSITION |
DIRTY_ROTATION |
DIRTY_LINEAR_VELOCITY |
DIRTY_ANGULAR_VELOCITY |
DIRTY_MASS |
DIRTY_COLLISION_GROUP |
DIRTY_MOTION_TYPE |
DIRTY_SHAPE |
DIRTY_LIFETIME |
DIRTY_UPDATEABLE |
DIRTY_MATERIAL |
DIRTY_PHYSICS_ACTIVATION |
DIRTY_SIMULATOR_ID |
DIRTY_SIMULATION_OWNERSHIP_PRIORITY;
};
#endif // hifi_SimulationFlags_h