xcal
基于 C++23 的现代图形渲染引擎
载入中...
搜索中...
未找到
xcal
property
scalar.hpp
浏览该文件的文档.
1
#pragma once
2
#include <
xcal/public.h
>
3
4
#include <
xcal/property/core/property.hpp
>
5
6
namespace
xcal::property
{
7
8
class
XCAL_API
Scalar
:
public
MProperty
{
9
XCAL_PROPERTY_TYPE
(
Scalar
)
10
public
:
11
using
data_t
=
float_t
;
12
13
private
:
14
Proxy<data_t>
value_{
this
, 0.0f};
15
16
public
:
17
Scalar
() =
default
;
18
explicit
Scalar
(
data_t
value) : value_(this, value) {}
19
const
data_t
&
value
()
const
{
return
value_; }
20
// NOLINTNEXTLINE(google-explicit-constructor)
21
operator
const
data_t
&()
const
{
return
value_; }
22
#define XCAL_SCALAR_OPERATOR(op) \
23
/* NOLINTNEXTLINE */
\
24
Scalar &operator op(float_t value) { \
25
value_ op value; \
26
return *this; \
27
}
28
XCAL_SCALAR_OPERATOR
(+=)
29
XCAL_SCALAR_OPERATOR
(-=)
30
XCAL_SCALAR_OPERATOR
(*=)
31
XCAL_SCALAR_OPERATOR
(/=)
32
#undef XCAL_SCALAR_OPERATOR
33
34
Scalar
&
operator=
(
float_t
value) {
35
value_ = value;
36
return
*
this
;
37
}
38
};
39
40
}
// namespace xcal::property
xcal::property::MProperty::Proxy
Definition
property.hpp:32
xcal::property::MProperty
Definition
property.hpp:24
xcal::property::Scalar
Definition
scalar.hpp:8
xcal::property::Scalar::Scalar
Scalar()=default
xcal::property::Scalar::Scalar
Scalar(data_t value)
Definition
scalar.hpp:18
xcal::property::Scalar::value
const data_t & value() const
Definition
scalar.hpp:19
xcal::property::Scalar::operator=
Scalar & operator=(float_t value)
Definition
scalar.hpp:34
xcal::property::Scalar::data_t
float_t data_t
Definition
scalar.hpp:11
xcal::property
Definition
Interpolation.hpp:18
xcal::float_t
float float_t
Definition
public.h:27
property.hpp
XCAL_PROPERTY_TYPE
#define XCAL_PROPERTY_TYPE(type)
Definition
property.hpp:6
public.h
XCAL_API
#define XCAL_API
Definition
public.h:69
XCAL_SCALAR_OPERATOR
#define XCAL_SCALAR_OPERATOR(op)
Definition
scalar.hpp:22
生成于 2025年 九月 19日 星期五 21:12:12 , 为 xcal使用
1.9.8