91 using Var = std::variant<float, Vector3f>;
#define MRMESH_CLASS
Definition MRMeshFwd.h:87
void setComparisonReferenceVal(std::size_t i, const ComparisonReferenceValue &value)
Definition MRObjectComparableWithReference.h:108
virtual ComparisonReferenceValue getComparisonReferenceValue(std::size_t i) const =0
float negative
Definition MRObjectComparableWithReference.h:64
std::optional< float > referenceValue
Definition MRObjectComparableWithReference.h:45
virtual std::optional< ComparableProperty > computeComparableProperty(std::size_t i) const =0
ObjectComparableWithReference()=default
We have no member variables, so lack of the implicit copy operations wouldn't matter,...
ObjectComparableWithReference & operator=(ObjectComparableWithReference &&)=default
virtual std::size_t numComparableProperties() const =0
Comparing properties:
virtual void setComparisonTolerance(std::size_t i, std::optional< ComparisonTolerance > newTolerance)=0
virtual std::size_t numComparisonReferenceValues() const
Reference values:
Definition MRObjectComparableWithReference.h:83
virtual ~ObjectComparableWithReference()=default
bool isSet
Definition MRObjectComparableWithReference.h:93
ObjectComparableWithReference(ObjectComparableWithReference &&)=default
float positive
How much larger can this value be compared to the reference?
Definition MRObjectComparableWithReference.h:61
std::variant< float, Vector3f > Var
Definition MRObjectComparableWithReference.h:91
float value
Definition MRObjectComparableWithReference.h:39
Var var
If isSet == false, this will hold zeroes, or some other default values.
Definition MRObjectComparableWithReference.h:96
virtual bool comparisonToleranceIsAlwaysOnlyPositive(std::size_t i) const
Definition MRObjectComparableWithReference.h:77
virtual std::string_view getComparisonReferenceValueName(std::size_t i) const =0
i goes up to numComparisonReferenceValues(), exclusive.
virtual void setComparisonReferenceValue(std::size_t i, std::optional< ComparisonReferenceValue::Var > value)=0
ObjectComparableWithReference & operator=(const ObjectComparableWithReference &)=default
virtual std::string_view getComparablePropertyName(std::size_t i) const =0
i goes up to numComparableProperties(), exclusive.
virtual std::optional< ComparisonTolerance > getComparisonTolerence(std::size_t i) const =0
ObjectComparableWithReference(const ObjectComparableWithReference &)=default
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRObjectComparableWithReference.h:38
This can't be std::optional<Var>, because we still need the variant to know the correct type.
Definition MRObjectComparableWithReference.h:90
Tolerances:
Definition MRObjectComparableWithReference.h:59