3#include "Foundation/ComponentModel/Component.h"
48 static void registerType();
53template<>
inline Cogs::StringView getName<Cogs::Core::VariableExtrusionComponent>() {
return "VariableExtrusionComponent"; }
Base class for Component instances.
Provides a weakly referenced view over the contents of a string.
Contains all Cogs related functionality.
bool enableRotation
If rotation should be enabled.
bool useMorph
If morphing factors should be applied.
float radiusScale
Radius scale applied to the entire shape perpendicular to the direction of the trajectory.
bool closed
If the shape should be displayed closed.
bool useOffset
If offsets are applied.
float angle
Angle to rotate the shape around the trajectory by.
float depthOffset
Offset amount applied to the given profile depths before calculating the trajectory.
int segmentCount
Number of segments per cross section.
std::vector< float > twist
Twist factors given by segment.
glm::vec2 textureScale
Scale factor to multiply generated texture coordinates by.
bool useSimpleRotation
If rotation should be applied uniformly to the entire shape (instead of per segment).
std::vector< float > morph
Morph factors applied per segment controlling the amount of regular/morph cross section to use.
std::vector< glm::vec3 > morphCrossSection
Morph target cross section.
std::vector< glm::vec2 > profile
Extrusion profile in two component (radial, length).
std::vector< glm::vec3 > crossSection
Cross section shape.
std::vector< float > depths
Depth values for the profile.
bool useTwist
If twist factors should be applied.
std::shared_ptr< ComponentModel::Entity > trajectory
The trajectory this component is connected to.
glm::vec2 textureOffset
Offset in units to apply to generated texture coordinates.
float creaseAngle
Crease angle to use when smoothing normals.