xcal
基于 C++23 的现代图形渲染引擎
载入中...
搜索中...
未找到
xcal
mobject
objects
circle.hpp
浏览该文件的文档.
1
#pragma once
2
#include <
xcal/public.h
>
3
4
#include <
xcal/mobject/core/composedmobject.hpp
>
5
#include <
xcal/mobject/core/mobject.hpp
>
6
#include <
xcal/property/vec.hpp
>
7
8
namespace
xcal::mobject
{
9
16
class
XCAL_API
Circle
17
:
public
ComposedMObject
<Circle, BaseTransformableMobject,
18
StrokeableMObject, FillableMObject> {
19
XCAL_MOBJECT_TYPE
(
Circle
)
20
21
private
:
22
property::Scalar
radius_{1.0};
23
24
public
:
30
explicit
Circle
(
const
property::Vec<float_t, 3>
& pos = {0.0, 0.0, 0.0},
31
float_t
radius = 1.0)
32
: radius_(radius) {
33
set_pos(pos);
34
register_properties(radius_);
35
}
36
41
float_t
radius
()
const
{
return
radius_.value(); }
42
47
Circle
*
set_radius
(
float_t
radius) {
48
radius_ = radius;
49
return
this
;
50
}
51
55
~Circle
()
override
=
default
;
56
};
57
58
}
// namespace xcal::mobject
xcal::mobject::Circle
圆形图形对象类
Definition
circle.hpp:18
xcal::mobject::Circle::~Circle
~Circle() override=default
析构函数
xcal::mobject::Circle::radius
float_t radius() const
获取半径值
Definition
circle.hpp:41
xcal::mobject::Circle::Circle
Circle(const property::Vec< float_t, 3 > &pos={0.0, 0.0, 0.0}, float_t radius=1.0)
构造函数
Definition
circle.hpp:30
xcal::mobject::Circle::set_radius
Circle * set_radius(float_t radius)
设置半径值
Definition
circle.hpp:47
xcal::mobject::ComposedMObject
Definition
composedmobject.hpp:122
xcal::property::Scalar
Definition
scalar.hpp:8
xcal::property::Vec
Definition
vec.hpp:9
composedmobject.hpp
mobject.hpp
基础图形对象类
XCAL_MOBJECT_TYPE
#define XCAL_MOBJECT_TYPE(type)
Definition
mobject_types.hpp:25
xcal::mobject
Definition
abs_mgroup.hpp:14
xcal::float_t
float float_t
Definition
public.h:27
public.h
XCAL_API
#define XCAL_API
Definition
public.h:69
vec.hpp
生成于 2025年 九月 19日 星期五 21:12:12 , 为 xcal使用
1.9.8