Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames

Engine.RB_ConstraintInstance


00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
/**
 * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
 */
class RB_ConstraintInstance extends Object
	hidecategories(Object)
	native(Physics);

// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)

/**
 *	Actor that owns this constraint instance.
 *	Could be a ConstraintActor, or an actor using a PhysicsAsset containing this constraint.
 *	Due to the way the ConstraintInstance pooling works, this MUST BE FIRST PROPERTY OF THE CLASS.
 */
var		const transient Actor				Owner;

/** PrimitiveComponent containing this constraint. */
var		const transient PrimitiveComponent	OwnerComponent;

/**
 *	Indicates position of this constraint within the array in an PhysicsAssetInstance.
 *	Will correspond to RB_ConstraintSetup position in PhysicsAsset.
 */
var		const int					ConstraintIndex;


/** Physics scene index. */
var	native const int			SceneIndex;

/** Whether we are in the hardware or software scene. */
var native const bool			bInHardware;

/** Internal use. Physics-engine representation of this constraint. */
var		const native pointer	ConstraintData{class NxJoint};

var(Linear)		const	bool	bLinearXPositionDrive;
var(Linear)		const	bool	bLinearXVelocityDrive;

var(Linear)		const	bool	bLinearYPositionDrive;
var(Linear)		const	bool	bLinearYVelocityDrive;

var(Linear)		const	bool	bLinearZPositionDrive;
var(Linear)		const	bool	bLinearZVelocityDrive;

var(Linear)		const	vector	LinearPositionTarget;
var(Linear)		const	vector	LinearVelocityTarget;
var(Linear)		const	float	LinearDriveSpring;
var(Linear)		const	float	LinearDriveDamping;
var(Linear)		const	float	LinearDriveForceLimit;

var(Angular)	const	bool	bSwingPositionDrive;
var(Angular)	const	bool	bSwingVelocityDrive;

var(Angular)	const	bool	bTwistPositionDrive;
var(Angular)	const	bool	bTwistVelocityDrive;

var(Angular)	const	bool	bAngularSlerpDrive;

var(Angular)	const	quat	AngularPositionTarget;
var(Angular)	const	vector	AngularVelocityTarget; // Revolutions per second
var(Angular)	const	float	AngularDriveSpring;
var(Angular)	const	float	AngularDriveDamping;
var(Angular)	const	float	AngularDriveForceLimit;

/** Indicates that this constraint has been terminated */
var                     bool    bTerminated;

/** 
 *	If bMakeKinForBody1 is true, this is the kinematic body that is made for Body1. 
 *	Due to the way the ConstraintInstance pooling works, this MUST BE LAST PROPERTY OF THE CLASS.
 */
var	const native private pointer	DummyKinActor;

/** 
 *	Create physics engine constraint.
 *	If bMakeKinForBody1 is TRUE, then a non-colliding kinematic body is created for Body1 and used instead.
 */
final native function			InitConstraint(PrimitiveComponent PrimComp1, PrimitiveComponent PrimComp2, RB_ConstraintSetup Setup, float Scale, Actor InOwner, PrimitiveComponent InPrimComp, bool bMakeKinForBody1);

final native noexport function	TermConstraint();

/** Get the position of this constraint in world space. */
final native function vector GetConstraintLocation();

final native function	SetLinearPositionDrive(bool bEnableXDrive, bool bEnableYDrive, bool bEnableZDrive);
final native function	SetLinearVelocityDrive(bool bEnableXDrive, bool bEnableYDrive, bool bEnableZDrive);
final native function	SetAngularPositionDrive(bool bEnableSwingDrive, bool bEnableTwistDrive);
final native function	SetAngularVelocityDrive(bool bEnableSwingDrive, bool bEnableTwistDrive);

final native function	SetLinearPositionTarget(vector InPosTarget);
final native function	SetLinearVelocityTarget(vector InVelTarget);
final native function	SetLinearDriveParams(float InSpring, float InDamping, float InForceLimit);

final native function	SetAngularPositionTarget(quat InPosTarget);
final native function	SetAngularVelocityTarget(vector InVelTarget);
final native function	SetAngularDriveParams(float InSpring, float InDamping, float InForceLimit);

/** Scale Angular Limit Constraints (as defined in RB_ConstraintSetup) */
final native function	SetAngularDOFLimitScale(float InSwing1LimitScale, float InSwing2LimitScale, float InTwistLimitScale, RB_ConstraintSetup InSetup);

/** Allows you to dynamically change the size of the linear limit 'sphere'. */
final native function	SetLinearLimitSize(float NewLimitSize);

/** If bMakeKinForBody1 was used, this function allows the kinematic body to be moved. */
final native function	MoveKinActorTransform(out matrix NewTM);

defaultproperties
{
   LinearDriveSpring=50.000000
   LinearDriveDamping=1.000000
   AngularPositionTarget=(X=0.000000,Y=0.000000,Z=0.000000,W=1.000000)
   AngularDriveSpring=50.000000
   AngularDriveDamping=1.000000
   Name="Default__RB_ConstraintInstance"
   ObjectArchetype=Object'Core.Default__Object'
}

Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames
Class file time: tr 31-1-2018 17:18:06.000 - Creation time: sk 18-3-2018 10:01:12.162 - Created with UnCodeX