Cogs.Core
ExtrusionComponent.h
1#pragma once
2
3#include "Foundation/ComponentModel/Component.h"
4
5#include <memory>
6
7namespace Cogs
8{
9 namespace Core
10 {
12 {
13 ExtrusionComponent() : radius(1.0f), diameterScale(1.0f), numSegments(32), highlightStart(0), highlightEnd(0), active(true) {}
14
15 std::shared_ptr<ComponentModel::Entity> trajectory;
16 std::shared_ptr<ComponentModel::Entity> extrusion;
17 std::shared_ptr<ComponentModel::Entity> dataSet;
18 std::shared_ptr<ComponentModel::Entity> colorMap;
19
20 float radius;
21 float diameterScale;
22 uint32_t numSegments;
23
24 bool coverEntireTrajectory = true;
25 float startDepth = 0.0f;
26 float endDepth = 1.0f;
27
28 std::shared_ptr<ComponentModel::Entity> highlightTarget;
29 float highlightStart;
30 float highlightEnd;
31
32 bool active;
33
34 static void registerType();
35 };
36 }
37}
38
39template<> inline Cogs::StringView getName<Cogs::Core::ExtrusionComponent>() { return "ExtrusionComponent"; }
Base class for Component instances.
Definition: Component.h:143
Provides a weakly referenced view over the contents of a string.
Definition: StringView.h:24
Contains all Cogs related functionality.
Definition: FieldSetter.h:23