True Axis Physics SDK 1.2.0.1 Beta Documentation
www.trueaxis.com

SurfaceAttribute.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------------
00002 // File Name: SurfaceAttribute.h
00003 // Description:
00006 //
00007 // Copyright (C) 2004 - 2006 True Axis Pty Ltd, Australia. 
00008 // All Rights Reserved.
00009 //
00010 // History:
00011 //      Created File.
00012 //---------------------------------------------------------------------------------
00013 
00014 #ifndef TA_SURFACEATTRIBUTE_H
00015 #define TA_SURFACEATTRIBUTE_H
00016 
00017 #ifndef TA_TYPES_H
00018 #include "../Common/Types.h"
00019 #endif // TA_TYPES_H
00020 
00021 #ifndef TA_MATHS_H
00022 #include "../Common/Maths.h"
00023 #endif // TA_MATHS_H
00024 
00025 #ifndef TA_PHYSICSCOMMON_H
00026 #include "PhysicsCommon.h"
00027 #endif // TA_PHYSICSCOMMON_H
00028 
00029 TA_OBFUSCATION_SKIP_PASS_2
00030 
00031 namespace TA
00032 {
00033 
00034 class TAPHYSICS_CLASS SurfaceAttribute
00035 {
00036 public:
00037     TA_OBFUSCATION_RESERVED_ON
00038     SurfaceAttribute();
00039     SurfaceAttribute(const SurfaceAttribute& that);
00040     ~SurfaceAttribute() {}
00041 
00042     void Clear();
00043 
00044     void SetCollisionFriction(float fCollisionFriction);
00045     float GetCollisionFriction() const;
00046 
00047     void SetRestitution(float fRestitution);
00048     float GetRestitution() const;
00049 
00050     void SetTireFriction(float fTireFriction);
00051     float GetTireFriction() const;
00052 
00053     void SetTireFrictionFallOff(float fTireFrictionFallOff);
00054     float GetTireFrictionFallOff() const;
00055 
00056     void SetUserData(u32 nUserData);
00057     u32 GetUserData() const;
00058     TA_OBFUSCATION_RESERVED_OFF
00059 
00060 private:
00061     float m_fCollisionFriction;
00062     float m_fRestitution;
00063     float m_fTireFriction;
00064     float m_fTireFrictionFallOff;
00065     u32 m_nUserData;
00066 };
00067 
00068 inline void SurfaceAttribute::SetCollisionFriction(float fCollisionFriction) { m_fCollisionFriction = fCollisionFriction; }
00069 inline float SurfaceAttribute::GetCollisionFriction() const { return m_fCollisionFriction; }
00070 inline void SurfaceAttribute::SetRestitution(float fRestitution) { m_fRestitution = fRestitution; Clamp(m_fRestitution, -1.0f, 1.0f); }
00071 inline float SurfaceAttribute::GetRestitution() const { return m_fRestitution; }
00072 inline void SurfaceAttribute::SetTireFriction(float fTireFriction) { m_fTireFriction = fTireFriction; }
00073 inline float SurfaceAttribute::GetTireFriction() const { return m_fTireFriction; }
00074 inline void SurfaceAttribute::SetTireFrictionFallOff(float fTireFrictionFallOff) { m_fTireFrictionFallOff = fTireFrictionFallOff; }
00075 inline float SurfaceAttribute::GetTireFrictionFallOff() const { return m_fTireFrictionFallOff; }
00076 inline void SurfaceAttribute::SetUserData(u32 nUserData) { m_nUserData = nUserData; }
00077 inline u32 SurfaceAttribute::GetUserData() const { return m_nUserData; }
00078 
00079 }
00080 
00081 #endif // TA_SURFACEATTRIBUTE_H


© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.