X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=libs%2Fscenelib.h;h=e1c05d464d8ba5ee096c55f6f08c2a122db47e9e;hb=HEAD;hp=08566259a4b9c0621dabec060b12b0daf4855071;hpb=dce6730b39a2e6484015e483c46edbe93054f6a0;p=xonotic%2Fnetradiant.git diff --git a/libs/scenelib.h b/libs/scenelib.h index 08566259..d15ce802 100644 --- a/libs/scenelib.h +++ b/libs/scenelib.h @@ -22,6 +22,7 @@ #if !defined ( INCLUDED_SCENELIB_H ) #define INCLUDED_SCENELIB_H +#include "globaldefs.h" #include "iscenegraph.h" #include "iselection.h" @@ -106,9 +107,9 @@ NodeType() : m_typeId( NODETYPEID_NONE ){ void initialise(){ m_typeId = GlobalSceneGraph().getNodeTypeId( Name() ); } -typedef MemberCaller, &NodeType::initialise> InitialiseCaller; +typedef MemberCaller, void(), &NodeType::initialise> InitialiseCaller; TypeId getTypeId(){ -#if defined( _DEBUG ) +#if GDEF_DEBUG ASSERT_MESSAGE( m_typeId != NODETYPEID_NONE, "node-type " << makeQuoted( Name() ) << " used before being initialised" ); #endif return m_typeId; @@ -441,9 +442,9 @@ InstanceType() : m_typeId( INSTANCETYPEID_NONE ){ void initialise(){ m_typeId = GlobalSceneGraph().getInstanceTypeId( Name() ); } -typedef MemberCaller, &InstanceType::initialise> InitialiseCaller; +typedef MemberCaller, void(), &InstanceType::initialise> InitialiseCaller; TypeId getTypeId(){ -#if defined( _DEBUG ) +#if GDEF_DEBUG ASSERT_MESSAGE( m_typeId != INSTANCETYPEID_NONE, "instance-type " << makeQuoted( Name() ) << " used before being initialised" ); #endif return m_typeId; @@ -574,8 +575,8 @@ mutable bool m_childSelected; mutable bool m_childSelectedChanged; mutable bool m_parentSelected; mutable bool m_parentSelectedChanged; -Callback m_childSelectedChangedCallback; -Callback m_transformChangedCallback; +Callback m_childSelectedChangedCallback; +Callback m_transformChangedCallback; void evaluateTransform() const { @@ -673,7 +674,7 @@ void transformChanged(){ GlobalSceneGraph().traverse_subgraph( TransformChangedWalker(), m_path ); boundsChanged(); } -void setTransformChangedCallback( const Callback& callback ){ +void setTransformChangedCallback( const Callback& callback ){ m_transformChangedCallback = callback; } @@ -710,7 +711,7 @@ bool childSelected() const { return m_childSelected; } -void setChildSelectedChangedCallback( const Callback& callback ){ +void setChildSelectedChangedCallback( const Callback& callback ){ m_childSelectedChangedCallback = callback; } void selectedChanged(){ @@ -739,6 +740,10 @@ bool parentSelected() const { } return m_parentSelected; } +Instance* parent() const +{ + return m_parent; +} }; } @@ -940,10 +945,10 @@ virtual void decrement() = 0; class SimpleCounter : public Counter { -Callback m_countChanged; +Callback m_countChanged; std::size_t m_count; public: -void setCountChangedCallback( const Callback& countChanged ){ +void setCountChangedCallback( const Callback& countChanged ){ m_countChanged = countChanged; } void increment(){