Skip to content

Commit

Permalink
- switch MeshProcessingComponent to attributes
Browse files Browse the repository at this point in the history
- add an attribute for flipping the winding of a mesh
  • Loading branch information
andyburke committed Sep 29, 2010
1 parent 0866d49 commit 345cf03
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 28 deletions.
7 changes: 4 additions & 3 deletions Core/Asset/Components/MeshProcessingComponent.cpp
Expand Up @@ -7,10 +7,11 @@ REFLECT_DEFINE_CLASS( MeshProcessingComponent );

void MeshProcessingComponent::EnumerateClass( Reflect::Compositor< MeshProcessingComponent >& comp )
{
comp.GetComposite().m_UIName = TXT( "Mesh Processing" );
comp.GetComposite().m_UIName = TXT( "Mesh Processing" );

comp.AddField( &MeshProcessingComponent::m_ScalingFactor, "m_ScalingFactor" );
comp.AddEnumerationField( &MeshProcessingComponent::m_MeshCompressionFactor, "m_MeshCompressionFactor" );
comp.AddField( &MeshProcessingComponent::a_ScalingFactor, "a_ScalingFactor" );
comp.AddEnumerationField( &MeshProcessingComponent::a_MeshCompressionFactor, "a_MeshCompressionFactor" );
comp.AddField( &MeshProcessingComponent::a_FlipWinding, "a_FlipWinding" );
}

Component::ComponentUsage MeshProcessingComponent::GetComponentUsage() const
Expand Down
34 changes: 9 additions & 25 deletions Core/Asset/Components/MeshProcessingComponent.h
Expand Up @@ -3,6 +3,8 @@
#include "Core/API.h"
#include "Foundation/Component/Component.h"

#include "Foundation/Automation/Attribute.h"

namespace Helium
{
namespace Asset
Expand All @@ -29,9 +31,10 @@ namespace Helium

class CORE_API MeshProcessingComponent : public Component::ComponentBase
{
private:
f32 m_ScalingFactor;
MeshCompressionFactor m_MeshCompressionFactor;
public:
Helium::Attribute< f32 > a_ScalingFactor;
Helium::Attribute< MeshCompressionFactor > a_MeshCompressionFactor;
Helium::Attribute< bool > a_FlipWinding;

public:

Expand All @@ -41,9 +44,10 @@ namespace Helium

public:
MeshProcessingComponent()
: m_ScalingFactor( 1.0f )
, m_MeshCompressionFactor( MeshCompressionFactors::None )
{
a_ScalingFactor.Set( 1.0f );
a_MeshCompressionFactor.Set( MeshCompressionFactors::None );
a_FlipWinding.Set( false );
}

virtual ~MeshProcessingComponent()
Expand All @@ -53,26 +57,6 @@ namespace Helium
public:
virtual Component::ComponentUsage GetComponentUsage() const HELIUM_OVERRIDE;

public:

f32 GetScalingFactor() const
{
return m_ScalingFactor;
}
void SetScalingFactor( const f32 scalingFactor )
{
m_ScalingFactor = scalingFactor;
}

MeshCompressionFactor GetMeshCompressionFactor() const
{
return m_MeshCompressionFactor;
}
void SetMeshCompressionFactor( const MeshCompressionFactor& meshCompressionFactor )
{
m_MeshCompressionFactor = meshCompressionFactor;
}

};

typedef Helium::SmartPtr< MeshProcessingComponent > MeshProcessingComponentPtr;
Expand Down

0 comments on commit 345cf03

Please sign in to comment.