Files
Webcam/include/engine/physic/physic_constraint.h
2026-06-22 11:49:35 +02:00

48 lines
1019 B
C++

/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#ifndef __NPHYSIC_CONSTRAINT__
#define __NPHYSIC_CONSTRAINT__
#include "physic/physic_item.h"
#include "physic/physic_constraint_desc.h"
namespace GS {
class Matrix4;
namespace S3D {
/*
@short Base physic constraint.
@author Emmanuel Julien (ejulien@gsworks.fr)
*/
class PhysicConstraint
{
protected:
PhysicConstraintDesc::Type type;
sPhysicItem item_a, item_b;
public:
virtual void SetPivotA(const Matrix4 &) = 0;
virtual void SetPivotB(const Matrix4 &) = 0;
virtual bool SetupConstraint(const PhysicConstraintDesc &) = 0;
virtual void DeleteConstraint() = 0;
virtual void Enable(bool = true) = 0;
PhysicConstraint() : type(PhysicConstraintDesc::TypeNone) {}
virtual ~PhysicConstraint() {}
};
} // S3D
} // GS
#endif // __NPHYSIC_CONSTRAINT__