8 #include "componentptr.h"
11 #include <rtti/object.h>
12 #include <rtti/path.h>
13 #include <rtti/objectptr.h>
14 #include <glm/glm.hpp>
15 #include <glm/fwd.hpp>
16 #include <glm/gtc/quaternion.hpp>
24 namespace instanceproperty
26 inline constexpr
const char*
value =
"Value";
115 if (!errorState.
check(target_type == rtti::TypeInfo::get<T>(),
"Target value does not match instance property type %s", rtti::TypeInfo::get<T>().get_name().data()))
118 return errorState.
check(resolvedTargetPath.
setValue(
mValue),
"Failed to set integer value");
179 #define RTTI_DEFINE_INSTANCE_PROPERTY_VALUE(InstancePropertyValueType) \
180 RTTI_BEGIN_CLASS(InstancePropertyValueType) \
181 RTTI_PROPERTY(nap::rtti::instanceproperty::value, &InstancePropertyValueType::mValue, nap::rtti::EPropertyMetaData::Required) \
rtti::ObjectPtr< InstancePropertyValue > mValue
Value to override.
Definition: instanceproperty.h:141
Definition: instanceproperty.h:101
virtual bool setValue(rtti::ResolvedPath &resolvedTargetPath, utility::ErrorState &errorState) const override
Definition: instanceproperty.h:112
bool check(bool successCondition, T &&errorMessage)
Definition: errorstate.h:36
Definition: objectptr.h:154
rtti::ObjectPtr< Object > mValue
Definition: instanceproperty.h:72
virtual bool setValue(rtti::ResolvedPath &resolvedTargetPath, utility::ErrorState &errorState) const =0
Definition: instanceproperty.h:129
ComponentPtr< Component > mValue
Definition: instanceproperty.h:93
Definition: errorstate.h:19
std::vector< TargetAttribute > mTargetAttributes
List of values that are overridden.
Definition: instanceproperty.h:151
const rtti::TypeInfo getType() const
std::string mPath
RTTI path to the property.
Definition: instanceproperty.h:140
Definition: instanceproperty.h:41
constexpr const char * value
Definition: instanceproperty.h:26
bool setValue(const rtti::Variant &value)
Definition: instanceproperty.h:147
Definition: templateapp.h:17
Definition: instanceproperty.h:58
rttr::type TypeInfo
Definition: typeinfo.h:140
Definition: component.h:31
T mValue
Definition: instanceproperty.h:122
Definition: instanceproperty.h:79