|
|
//====== Copyright � 1996-2004, Valve Corporation, All rights reserved. =====//
//
// Dme $collisionjoints
//
//===========================================================================//
#include "datamodel/dmelementfactoryhelper.h"
#include "mdlobjects/dmecollisionjoints.h"
// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"
//===========================================================================
// Expose DmeJointConstrain class to the scene database
//===========================================================================
IMPLEMENT_ELEMENT_FACTORY( DmeJointConstrain, CDmeJointConstrain );
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeJointConstrain::OnConstruction() { m_nType.InitAndSet( this, "type", 1 ); // 0: Free, 1: Fixed, 2: Limit
m_aLimitMin.Init( this, "minAngle" ); m_aLimitMax.Init( this, "maxAngle" ); m_flFriction.Init( this, "friction" ); }
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeJointConstrain::OnDestruction() { }
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeJointConstrain::OnAttributeChanged( CDmAttribute *pAttribute ) { // Limit "type" to [0:2]
// TODO: Check for recursive behavior
if ( pAttribute == m_nType.GetAttribute() ) { m_nType.Set( clamp( m_nType.Get(), 0, 2 ) ); } }
//===========================================================================
// Expose DmeJointAnimatedFriction class to the scene database
//===========================================================================
IMPLEMENT_ELEMENT_FACTORY( DmeJointAnimatedFriction, CDmeJointAnimatedFriction );
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeJointAnimatedFriction::OnConstruction() { m_nMinFriction.InitAndSet( this, "minFriction", 1.0f ); m_nMaxFriction.InitAndSet( this, "maxFriction", 1.0f ); m_tTimeIn.Init( this, "timeIn" ); m_tTimeHold.Init( this, "timeHold" ); m_tTimeOut.Init( this, "timeOut" ); }
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeJointAnimatedFriction::OnDestruction() { }
//===========================================================================
// Expose DmeCollisionJoint class to the scene database
//===========================================================================
IMPLEMENT_ELEMENT_FACTORY( DmeCollisionJoint, CDmeCollisionJoint );
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeCollisionJoint::OnConstruction() { m_flMassBias.InitAndSet( this, "massBias", 1.0f ); m_flDamping.InitAndSet( this, "damping", 0.0f ); m_flRotDamping.InitAndSet( this, "rotationalDamping", 0.0f ); m_flInertia.InitAndSet( this, "inertia", 1.0f ); m_ConstrainX.Init( this, "constrainX" ); m_ConstrainY.Init( this, "constrainY" ); m_ConstrainZ.Init( this, "constrainZ" ); m_JointMergeList.Init( this, "jointMergeList" ); m_JointCollideList.Init( this, "jointCollideList" ); }
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeCollisionJoint::OnDestruction() { }
//===========================================================================
// Expose DmeKeyValueString class to the scene database
//===========================================================================
IMPLEMENT_ELEMENT_FACTORY( DmeCollisionJoints, CDmeCollisionJoints );
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeCollisionJoints::OnConstruction() { m_bConcavePerJoint.InitAndSet( this, "concavePerJoint", false ); m_bSelfCollisions.InitAndSet( this, "selfCollisions", true ); m_bBoneFollower.InitAndSet( this, "boneFollower", false ); m_RootBone.Init( this, "rootBone" ); m_AnimatedFriction.Init( this, "animatedFriction" ); m_JointSkipList.Init( this, "jointSkipList" ); m_JointList.Init( this, "jointList" ); }
//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
void CDmeCollisionJoints::OnDestruction() { }
|