⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oxnewtondynamicobjects.pas

📁 Newton Game Dynamic 1.52 Delphi下基于GLScene的OpenGL游戏开发控件。功能非常强大和易于使用。 Advanced physics engine for re
💻 PAS
📖 第 1 页 / 共 5 页
字号:
      FMaterialElasticity: Float;
      FMaterialStaticFriction: Float;
      FMaterialKineticFriction: Float;
      FFreezeSpeedMag2: Float;
      FFreezeOmegaMag2: Float;
      FFreezeFramesCount: integer;
      FInertiaX: Float;
      FInertiaY: Float;
      FInertiaZ: Float;
      FOriginX: Float;
      FOriginY: Float;
      FOriginZ: Float;
      FConcretX: Float;
      FConcretY: Float;
      FConcretZ: Float;
      FRollingFriction: Float;
      FCustomMassInertiaOrigin: boolean;
      FLinearDamping: Float;
      FAngularDampingX: Float;
      FAngularDampingY: Float;
      FAngularDampingZ: Float;
      FExtentScale: boolean;
      FContinuousCollisionMode: boolean;
      FisSetMatrix: boolean;
      FisAddImpulse: boolean;
      FisAddTorque: boolean;
      FisAddForce: boolean;
      FisSetOmega: boolean;
      FisSetVelocity: boolean;
      FisSetForce: boolean;
      FisSetTorque: boolean;
      FAddImpulse: TOXVector3;
      FAddImpulseVel: TOXVector3;
      FAddForce: TOXVector3;
      FAddTorque: TOXVector3;
      FSetOmega: TOXVector3;
      FSetVelocity: TOXVector3;
      FSetForce: TOXVector3;
      FSetTorque: TOXVector3;
      FGetOmega: TOXVector3;
      FGetVelocity: TOXVector3;
      FGetForce: TOXVector3;
      FGetTorque: TOXVector3;
      FGetMatrix: TOXMatrix;
      FSetMatrix: TOXMatrix;
      FOnAir: boolean;
      FInternalForceAndTorque: boolean;
      FFrictionMotion1: boolean;
      FFrictionMotion2: boolean;
      FOnContactBegin: TOXOnContactBegin;
      FOnContactProcess: TOXOnContactProcess;
      FOnContactEnd: TOXOnContactEnd;
      FForceAndTorque: TOXPhysicsApplyForceAndTorque;
      FOnStepRender: TOXOnStepRender;
      FOnCustomMass: TOXOnCustomMass;
      procedure SetMaterialSurfaceMode( const Mode: TOXMaterialSurfaceMode );
      procedure SetMass( const val: Float );
      procedure SetConcretX( const val: Float );
      procedure SetConcretY( const val: Float );
      procedure SetConcretZ( const val: Float );
      procedure SetInertiaX( const val: Float );
      procedure SetInertiaY( const val: Float );
      procedure SetInertiaZ( const val: Float );
      procedure SetOriginX( const val: Float );
      procedure SetOriginY( const val: Float );
      procedure SetOriginZ( const val: Float );
      procedure SetAngularDampingX( const val: Float );
      procedure SetAngularDampingY( const val: Float );
      procedure SetAngularDampingZ( const val: Float );
      procedure SetAutoFreeze( const val: boolean );
      procedure SetContinuousCollision( const val: boolean );
      procedure SetMassValues;
      function GetGeom: PNewtonCollision;
      function GetBody: PNewtonBody;
      procedure SetLinearDamping( const val: Float );
      procedure SetFreezeSpeedMag2( const val: Float );
      procedure SetFreezeOmegaMag2( const val: Float );
      procedure SetFreezeFramesCount( const val: Integer );
    protected
      //
    public
      property Manager: TOXNewtonManager read FManager;
      property Actived: boolean read FActived;
      property BodyGetOmega: TOXVector3 read FGetOmega write FGetOmega;
      property BodyGetForce: TOXVector3 read FGetForce write FGetForce;
      property BodyGetTorque: TOXVector3 read FGetTorque write FGetTorque;
      property BodyGetVelocity: TOXVector3 read FGetVelocity write FGetVelocity;
      property BodyGetMatrix: TOXMatrix read FGetMatrix write FGetMatrix;
      property BodySetMatrix: TOXMatrix read FSetMatrix write FSetMatrix;
      property BodyAddImpulse: TOXVector3 read FAddImpulse write FAddImpulse;
      property BodyAddImpulseVelocity: TOXVector3 read FAddImpulseVel write FAddImpulseVel;
      property BodyAddForce: TOXVector3 read FAddForce write FAddForce;
      property BodyAddTorque: TOXVector3 read FAddTorque write FAddTorque;
      property BodySetOmega: TOXVector3 read FSetOmega write FSetOmega;
      property BodySetVelocity: TOXVector3 read FSetVelocity write FSetVelocity;
      property BodySetForce: TOXVector3 read FSetForce write FSetForce;
      property BodySetTorque: TOXVector3 read FSetTorque write FSetTorque;
      property isSetMatrix: boolean read FisSetMatrix write FisSetMatrix;
      property isAddImpulse: boolean read FisAddImpulse write FisAddImpulse;
      property isAddTorque: boolean read FisAddTorque write FisAddTorque;
      property isAddForce: boolean read FisAddForce write FisAddForce;
      property isSetOmega: boolean read FisSetOmega write FisSetOmega;
      property isSetVelocity: boolean read FisSetVelocity write FisSetVelocity;
      property isSetForce: boolean read FisSetForce write FisSetForce;
      property isSetTorque: boolean read FisSetTorque write FisSetTorque;
      property Collide: boolean read FOnAir write FOnAir;
      procedure SetMaterialSurface( Custom: boolean; Softness, Elasticity, StaticFriction, KineticFriction: Float );
      procedure UpdateTransformation( poweroff: boolean );
      procedure InitNewton; virtual; 
      procedure BuildList( var rci: TRenderContextInfo ); override;
      procedure Notification(AComponent: TComponent; Operation: TOperation); override;
      procedure DoProgress( const progressTime: TProgressTimes ); override;
      property Geom: PNewtonCollision read GetGeom;
      property Body: PNewtonBody read GetBody;
      property ContactID: integer read FContactID write FContactID;
      constructor Create( AOwner: TComponent ); override;
      destructor Destroy; override;
    published
      property OXVisual: boolean read FOXVisual write FOXVisual;
      property ContinuousCollisionMode: boolean read FContinuousCollisionMode write SetContinuousCollision;
      property AutoFreeze: boolean read FAutoFreeze write SetAutoFreeze;
      property Mass: Float read FMass write SetMass;
      property MassCenterX: Float read FConcretX write SetConcretX;
      property MassCenterY: Float read FConcretY write SetConcretY;
      property MassCenterZ: Float read FConcretZ write SetConcretZ;
      property MassInertiaX: Float read FInertiaX write SetInertiaX;
      property MassInertiaY: Float read FInertiaY write SetInertiaY;
      property MassInertiaZ: Float read FInertiaZ write SetInertiaZ;
      property MassOriginX: Float read FOriginX write SetOriginX;
      property MassOriginY: Float read FOriginY write SetOriginY;
      property MassOriginZ: Float read FOriginZ write SetOriginZ;
      property RollingFriction: Float read FRollingFriction write FRollingFriction;
      property LinearDamping: Float read FLinearDamping write SetLinearDamping;
      property AngularDampingX: Float read FAngularDampingX write SetAngularDampingX;
      property AngularDampingY: Float read FAngularDampingY write SetAngularDampingY;
      property AngularDampingZ: Float read FAngularDampingZ write SetAngularDampingZ;
      property ExtentScale: boolean read FExtentScale write FExtentScale;
      property MaterialSurfaceMode: TOXMaterialSurfaceMode read FMaterialSurfaceMode write SetMaterialSurfaceMode;
      property MaterialCustom: boolean read FMaterialCustom write FMaterialCustom;
      property MaterialSoftness: Float read FMaterialSoftness write FMaterialSoftness;
      property MaterialElasticity: Float read FMaterialElasticity write FMaterialElasticity;
      property MaterialStaticFriction: Float read FMaterialStaticFriction write FMaterialStaticFriction;
      property MaterialKineticFriction: Float read FMaterialKineticFriction write FMaterialKineticFriction;
      property InternalForceAndTorque: boolean read FInternalForceAndTorque write FInternalForceAndTorque;
      property FrictionMotion1: boolean read FFrictionMotion1 write FFrictionMotion1;
      property FrictionMotion2: boolean read FFrictionMotion2 write FFrictionMotion2;
      property CustomMassInertiaOrigin: boolean read FCustomMassInertiaOrigin write FCustomMassInertiaOrigin;
      property ApplyForceAndTorque: TOXPhysicsApplyForceAndTorque read FForceAndTorque write FForceAndTorque;
      property FreezeSpeedMag2: Float read FFreezeSpeedMag2 write SetFreezeSpeedMag2;
      property FreezeOmegaMag2: Float read FFreezeOmegaMag2 write SetFreezeOmegaMag2;
      property FreezeFramesCount: integer read FFreezeFramesCount write SetFreezeFramesCount;
      property OnStepRender: TOXOnStepRender read FOnStepRender write FOnStepRender;
      property OnCustomMass: TOXOnCustomMass read FOnCustomMass write FOnCustomMass;
      property OnContactBegin: TOXOnContactBegin read FOnContactBegin write FOnContactBegin;
      property OnContactProcess: TOXOnContactProcess read FOnContactProcess write FOnContactProcess;
      property OnContactEnd: TOXOnContactEnd read FOnContactEnd write FOnContactEnd;
  end;
{******************************************************************************}
// [15-9-2007]: TOXNewtonDynCylinder last change by Dave Gravel.             //
{******************************************************************************}
type
  TOXNewtonDynCylinder = class( TGLCylinder )
    private
      FOrionX3D: byte;
      FOXVisual: boolean;
      FCollision: PNewtonCollision;
      FBody: PNewtonBody;
      FMass: Float;
      FActived: boolean;
      FManager: TOXNewtonManager;
      FContactID: integer;
      FAutoFreeze: boolean;
      FMaterialSurfaceMode: TOXMaterialSurfaceMode;
      FMaterialCustom: boolean;
      FMaterialSoftness: Float;
      FMaterialElasticity: Float;
      FMaterialStaticFriction: Float;
      FMaterialKineticFriction: Float;
      FFreezeSpeedMag2: Float;
      FFreezeOmegaMag2: Float;
      FFreezeFramesCount: integer;
      FInertiaX: Float;
      FInertiaY: Float;
      FInertiaZ: Float;
      FOriginX: Float;
      FOriginY: Float;
      FOriginZ: Float;
      FConcretX: Float;
      FConcretY: Float;
      FConcretZ: Float;
      FRollingFriction: Float;
      FCustomMassInertiaOrigin: boolean;
      FLinearDamping: Float;
      FAngularDampingX: Float;
      FAngularDampingY: Float;
      FAngularDampingZ: Float;
      FContinuousCollisionMode: boolean;
      FisSetMatrix: boolean;
      FisAddImpulse: boolean;
      FisAddTorque: boolean;
      FisAddForce: boolean;
      FisSetOmega: boolean;
      FisSetVelocity: boolean;
      FisSetForce: boolean;
      FisSetTorque: boolean;
      FAddImpulse: TOXVector3;
      FAddImpulseVel: TOXVector3;
      FAddForce: TOXVector3;
      FAddTorque: TOXVector3;
      FSetOmega: TOXVector3;
      FSetVelocity: TOXVector3;
      FSetForce: TOXVector3;
      FSetTorque: TOXVector3;
      FGetOmega: TOXVector3;
      FGetVelocity: TOXVector3;
      FGetForce: TOXVector3;
      FGetTorque: TOXVector3;
      FGetMatrix: TOXMatrix;
      FSetMatrix: TOXMatrix;
      FOnAir: boolean;
      FInternalForceAndTorque: boolean;
      FFrictionMotion1: boolean;
      FFrictionMotion2: boolean;
      FOnContactBegin: TOXOnContactBegin;
      FOnContactProcess: TOXOnContactProcess;
      FOnContactEnd: TOXOnContactEnd;
      FForceAndTorque: TOXPhysicsApplyForceAndTorque;
      FOnStepRender: TOXOnStepRender;
      FOnCustomMass: TOXOnCustomMass;
      procedure SetMaterialSurfaceMode( const Mode: TOXMaterialSurfaceMode );
      procedure SetMass( const val: Float );
      procedure SetConcretX( const val: Float );
      procedure SetConcretY( const val: Float );
      procedure SetConcretZ( const val: Float );
      procedure SetInertiaX( const val: Float );
      procedure SetInertiaY( const val: Float );
      procedure SetInertiaZ( const val: Float );
      procedure SetOriginX( const val: Float );
      procedure SetOriginY( const val: Float );
      procedure SetOriginZ( const val: Float );
      procedure SetAngularDampingX( const val: Float );
      procedure SetAngularDampingY( const val: Float );
      procedure SetAngularDampingZ( const val: Float );
      procedure SetAutoFreeze( const val: boolean );
      procedure SetContinuousCollision( const val: boolean );
      procedure SetMassValues;
      function GetGeom: PNewtonCollision;
      function GetBody: PNewtonBody;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -