33#include <OgreVector3.h>
53 Id(
unsigned int id_num);
54 Id(std::string
const & id_str);
57 void SetNum(
unsigned int id_num);
58 void setStr(std::string
const & id_str);
91 Ref(std::string
const & id_str,
unsigned int id_num,
unsigned flags,
unsigned line_number_defined);
94 inline std::string
const &
Str()
const {
return m_id; }
101 inline bool IsValidAnyState()
const {
return GetImportState_IsValid() || GetRegularState_IsValid(); }
Abstract node ID (numbered or named) Node name is always available.
void SetNum(unsigned int id_num)
void setStr(std::string const &id_str)
BITMASK_PROPERTY_GET(m_flags, 2, IS_TYPE_NUMBERED, IsTypeNumbered)
BITMASK_PROPERTY_GET(m_flags, 1, IS_VALID, IsValid)
BITMASK_PROPERTY_GET(m_flags, 3, IS_TYPE_NAMED, IsTypeNamed)
std::string ToString() const
std::string const & Str() const
Legacy parser resolved references on-the-fly and the condition to check named nodes was "are there an...
bool operator==(Ref const &rhs) const
BITMASK_PROPERTY_GET(m_flags, 2, IMPORT_STATE_MUST_CHECK_NAMED_FIRST, GetImportState_MustCheckNamedFirst)
bool IsValidAnyState() const
bool Compare(Ref const &rhs) const
BITMASK_PROPERTY_GET(m_flags, 1, IMPORT_STATE_IS_VALID, GetImportState_IsValid)
unsigned int m_line_number
std::string ToString() const
BITMASK_PROPERTY_GET(m_flags, 3, IMPORT_STATE_IS_RESOLVED_NAMED, GetImportState_IsResolvedNamed)
unsigned int m_id_as_number
BITMASK_PROPERTY_GET(m_flags, 6, REGULAR_STATE_IS_NAMED, GetRegularState_IsNamed)
bool operator!=(Ref const &rhs) const
BITMASK_PROPERTY_GET(m_flags, 4, IMPORT_STATE_IS_RESOLVED_NUMBERED, GetImportState_IsResolvedNumbered)
unsigned GetLineNumber() const
std::string const & Str() const
BITMASK_PROPERTY_GET(m_flags, 5, REGULAR_STATE_IS_VALID, GetRegularState_IsValid)
BITMASK_PROPERTY_GET(m_flags, 7, REGULAR_STATE_IS_NUMBERED, GetRegularState_IsNumbered)
Range(Node::Ref const &single)
void SetSingle(Node::Ref const &ref)
Range(Node::Ref const &start, Node::Ref const &end)
std::shared_ptr< BeamDefaults > beam_defaults
static const BitMask_t OPTION_c_NO_GROUND_CONTACT
static const BitMask_t OPTION_p_NO_PARTICLES
std::shared_ptr< DefaultMinimass > default_minimass
bool _has_load_weight_override
static const BitMask_t OPTION_f_NO_SPARKS
static const BitMask_t OPTION_b_EXTRA_BUOYANCY
static const BitMask_t OPTION_L_LOG
static const BitMask_t OPTION_x_EXHAUST_POINT
static const BitMask_t OPTION_e_TERRAIN_EDIT_POINT
std::shared_ptr< NodeDefaults > node_defaults
float load_weight_override
static const BitMask_t OPTION_h_HOOK_POINT
static const BitMask_t OPTION_m_NO_MOUSE_GRAB
static const BitMask_t OPTION_l_LOAD_WEIGHT
static const BitMask_t OPTION_y_EXHAUST_DIRECTION