Cogs.Core
TrajectoryCrossSectionsComponent.h
1#pragma once
2
3#include "LoftedCrossSectionsComponent.h"
4
5#include <memory>
6
7namespace Cogs
8{
9 namespace Core
10 {
12 {
13 enum struct Parameterization : int
14 {
15 None,
18 };
19
20 std::shared_ptr<ComponentModel::Entity> trajectory;
21 float startMeasuredDepth = 0.f;
22 float stopMeasuredDepth = 1.f;
23 float radiusScale = 1.f;
24 int samples = 16;
25 float innerRadius = 0.99f;
26 float outerRadius = 1.f;
28 LoftedCrossSectionsComponent::Shape shape = LoftedCrossSectionsComponent::Shape::Shell;
29
30 static void registerType();
31
32 };
33 } // namespace Core
34} // namespace Cogs
35
36template<> inline
37Cogs::StringView getName<Cogs::Core::TrajectoryCrossSectionsComponent>()
38{
39 return "TrajectoryCrossSectionsComponent";
40}
41
42template<> inline
43Cogs::StringView getName<Cogs::Core::TrajectoryCrossSectionsComponent::Parameterization>()
44{
45 return "Parameterization";
46}
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
int samples
Number of samples around the circumference.
@ CoordLengthOverCircumference
U maps to [0,1) around circumference, V is coordlength divided by circumference.
float outerRadius
The outer radius of the tubular shape, used for all shapes.
float stopMeasuredDepth
Measured depth along trajectory where casing stops.
float innerRadius
The inner radius of the tubular shape, only used for Hollow shape.
float radiusScale
Factor by which to scale the inner and outer radius.