|
Cogs.Core
|
Component to be added to an entity to provide mesh reduction using Rational Reducer. More...
#include <RationalReducerComponent.h>
Public Member Functions | |
| void | initialize (Context *context) |
| void | update () |
Public Member Functions inherited from Cogs::ComponentModel::Component | |
| class Entity * | getContainer () const |
| Get the container currently owning this component instance. | |
| void | setContainer (class Entity *container) |
| Set the container owning this component instance. | |
| template<typename ComponentType > | |
| ComponentType * | getComponent () const |
| COGSFOUNDATION_API Component * | getComponent (const Reflection::Name &name) const |
| COGSFOUNDATION_API Component * | getComponent (const Reflection::TypeId &id) const |
| template<typename ComponentType > | |
| ComponentHandle | getComponentHandle () const |
| COGSFOUNDATION_API ComponentHandle | getComponentHandle (const Reflection::Name &name) const |
| COGSFOUNDATION_API ComponentHandle | getComponentHandle (const Reflection::TypeId &id) const |
| void | setActive () |
| Sets the component to the ComponentFlags::Active state. | |
| bool | isActive () const |
| Gets if the component is currently set to the ComponentFlags::Active state. | |
| void | setChanged () |
| Sets the component to the ComponentFlags::Changed state with carry. | |
| void | setChangedTransient () |
| Sets the component to the ComponentFlags::Changed state without carry. | |
| void | setFieldChanged (const Reflection::FieldId fieldId) |
| Sets the component to the ComponentFlags::Changed state without carry. | |
| template<typename ClassType , typename FieldType > | |
| void | setFieldChanged (FieldType ClassType::*field) |
| Sets a flag indicating that the given field has changed. | |
| void | setFieldChangedTransient (const Reflection::FieldId fieldId) |
| Sets the component to the ComponentFlags::Changed state without carry. | |
| bool | hasChanged () const |
| bool | hasAnyfieldChanged () const |
| Gets if any fields have been changed. | |
| bool | hasFieldChanged (const Reflection::FieldId fieldId) const |
| Gets if the field with the given id on this component instance has changed. | |
| template<typename ClassType , typename FieldType > | |
| bool | hasFieldChanged (FieldType ClassType::*field) const |
| Gets if the given field has changed. | |
| void | resetCarryChanged () |
| Reset the CarryChanged flag. Called at start of redraw. See ComponentFlags::CarryChanged. | |
| void | resetChanged () |
| Resets the changed state of the component, respecting any carry state set. | |
| template<typename ClassType , typename FieldType > | |
| Reflection::FieldId | getFieldId (FieldType ClassType::*field) const |
| Gets field ID of the given field. | |
| void | resetFieldsChanged () |
| Resets the state of all changed field flags. | |
| void | resetFieldChanged (const Reflection::FieldId fieldId) |
| Resets the changed state of the given fieldId. | |
| template<typename ClassType , typename FieldType > | |
| void | resetFieldChanged (FieldType ClassType::*field) |
| Resets the changed state of the given field. | |
| constexpr void | setFlags (const uint32_t flags) |
| Override all flags of the Component, setting the given flags. | |
| constexpr void | setFlag (const uint32_t flag) |
| Set the given flags. Does not override the currently set flags. | |
| constexpr void | unsetFlag (const uint32_t flag) |
| Unset the given flag. Does not remove the status of other than the given flags. | |
| constexpr bool | isSet (const uint32_t flag) const |
| Checks if the given flag is set. Requires exact bit match if test of several bits. | |
| constexpr void | setTypeId (const Reflection::TypeId typeId) |
| Set the Reflection::TypeId of the component. | |
| constexpr Reflection::TypeId | getTypeId () const |
| Get the Reflection::TypeId of the component. | |
| COGSFOUNDATION_API const Reflection::Type & | getType () const |
| Get the full Reflection::Type of the component. | |
| constexpr void | setIndex (const ComponentIndex index) |
| Set the components pool index. For internal use only. | |
| constexpr ComponentIndex | getIndex () const |
| Get the components pool index. For internal use only. | |
| constexpr void | setGeneration (uint16_t generation) |
| Sets the component generation. | |
| constexpr uint16_t | getGeneration () const |
| Gets the component generation. | |
| size_t | hash (size_t hashValue=Cogs::hash()) const |
| Calculates a hash of this component's members. | |
Static Public Member Functions | |
| static void | registerType () |
Static Public Member Functions inherited from Cogs::Core::DynamicComponent | |
| static COGSCORE_DLL_API void | registerType () |
| Register the type in the type system. | |
| template<typename T > | |
| static Reflection::Type & | registerDerivedType () |
| Convenience method for registering the type of a derived component. | |
Static Public Member Functions inherited from Cogs::ComponentModel::Component | |
| static COGSFOUNDATION_API void | registerType () |
| Register the Component type in the global type database. | |
| static COGSFOUNDATION_API Reflection::TypeId | getComponentTypeId (const StringView &name) |
| Get the type id of the component type with the given name. | |
Public Attributes | |
| Context * | context |
| std::vector< MeshHandle > | originalMeshes |
| std::vector< MeshHandle > | reducedMeshes |
| std::vector< Cogs::ComponentModel::ComponentHandle > | meshComponents |
| std::vector< MaterialInstanceHandle > | materials |
| float | reductionPercent = 0 |
| The percentage of the triangles you want to remove. | |
| float | reductionEpsilon = 0.1f |
| A value telling RR to join all vertices where the distance between them are less than the given number. | |
| bool | enabled = false |
| Set to true to enable reduction. | |
| int | loglevel = 0 |
| Logging level. | |
| bool | addNormals = true |
| true if normals always to be generated, false = generate only if normals in input data. | |
Public Attributes inherited from Cogs::Core::DynamicComponent | |
| void * | messageCallback = nullptr |
| void * | userData = nullptr |
| size_t | dynamicTypeInfoIndex = static_cast<size_t>(-1) |
Private Attributes | |
| float | lastPercent = 0 |
Component to be added to an entity to provide mesh reduction using Rational Reducer.
Definition at line 19 of file RationalReducerComponent.h.
| void RationalReducerComponent::initialize | ( | Context * | context | ) |
Definition at line 43 of file RationalReducerComponent.cpp.
|
static |
Definition at line 26 of file RationalReducerComponent.cpp.
| void RationalReducerComponent::update | ( | ) |
Definition at line 95 of file RationalReducerComponent.cpp.
| bool Cogs::RationalReducerExtension::RationalReducerComponent::addNormals = true |
true if normals always to be generated, false = generate only if normals in input data.
Definition at line 36 of file RationalReducerComponent.h.
| Context* Cogs::RationalReducerExtension::RationalReducerComponent::context |
Definition at line 25 of file RationalReducerComponent.h.
| bool Cogs::RationalReducerExtension::RationalReducerComponent::enabled = false |
Set to true to enable reduction.
Definition at line 34 of file RationalReducerComponent.h.
|
private |
Definition at line 39 of file RationalReducerComponent.h.
| int Cogs::RationalReducerExtension::RationalReducerComponent::loglevel = 0 |
Logging level.
0=off, 1=result, 2=also progress.
Definition at line 35 of file RationalReducerComponent.h.
| std::vector<MaterialInstanceHandle> Cogs::RationalReducerExtension::RationalReducerComponent::materials |
Definition at line 29 of file RationalReducerComponent.h.
| std::vector<Cogs::ComponentModel::ComponentHandle> Cogs::RationalReducerExtension::RationalReducerComponent::meshComponents |
Definition at line 28 of file RationalReducerComponent.h.
| std::vector<MeshHandle> Cogs::RationalReducerExtension::RationalReducerComponent::originalMeshes |
Definition at line 26 of file RationalReducerComponent.h.
| std::vector<MeshHandle> Cogs::RationalReducerExtension::RationalReducerComponent::reducedMeshes |
Definition at line 27 of file RationalReducerComponent.h.
| float Cogs::RationalReducerExtension::RationalReducerComponent::reductionEpsilon = 0.1f |
A value telling RR to join all vertices where the distance between them are less than the given number.
The distance is expressed in 1/10's of percent of the length of the longest edge in the model. If epsilon is 0.0, joining is turned off. Default value is 0.1.
Definition at line 33 of file RationalReducerComponent.h.
| float Cogs::RationalReducerExtension::RationalReducerComponent::reductionPercent = 0 |
The percentage of the triangles you want to remove.
Definition at line 32 of file RationalReducerComponent.h.