All Classes Files Functions Variables Pages
PhysxSchemaPhysxVehicleEngineAPI Class Reference

Properties of a PhysX vehicle engine. More...

Inherits UsdAPISchemaBase.

Public Member Functions

 PhysxSchemaPhysxVehicleEngineAPI (const UsdPrim &prim=UsdPrim())
 Construct a PhysxSchemaPhysxVehicleEngineAPI on UsdPrim prim . More...
 
 PhysxSchemaPhysxVehicleEngineAPI (const UsdSchemaBase &schemaObj)
 Construct a PhysxSchemaPhysxVehicleEngineAPI on the prim held by schemaObj . More...
 
virtual PHYSXSCHEMA_API ~PhysxSchemaPhysxVehicleEngineAPI ()
 Destructor. More...
 
PHYSXSCHEMA_API UsdAttribute GetMoiAttr () const
 The moment of inertia of the engine around the axis of rotation (units: mass * distance * distance). More...
 
PHYSXSCHEMA_API UsdAttribute CreateMoiAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetMoiAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetPeakTorqueAttr () const
 Maximum torque available to apply to the engine when the accelerator pedal is at maximum (units: mass * distance * distance / seconds / seconds). More...
 
PHYSXSCHEMA_API UsdAttribute CreatePeakTorqueAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetPeakTorqueAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetMaxRotationSpeedAttr () const
 Maximum rotation speed of the engine (units: radians / seconds). More...
 
PHYSXSCHEMA_API UsdAttribute CreateMaxRotationSpeedAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetMaxRotationSpeedAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetIdleRotationSpeedAttr () const
 Rotation speed of the engine when idling (units: radians / seconds). More...
 
PHYSXSCHEMA_API UsdAttribute CreateIdleRotationSpeedAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetIdleRotationSpeedAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetTorqueCurveAttr () const
 Graph of normalized torque (torque / peakTorque) against normalized engine speed (engineRotationSpeed / maxRotationSpeed). More...
 
PHYSXSCHEMA_API UsdAttribute CreateTorqueCurveAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetTorqueCurveAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetDampingRateFullThrottleAttr () const
 Damping rate of engine when full throttle is applied (units: torque * seconds = mass * distance * distance / seconds). More...
 
PHYSXSCHEMA_API UsdAttribute CreateDampingRateFullThrottleAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetDampingRateFullThrottleAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetDampingRateZeroThrottleClutchEngagedAttr () const
 Damping rate of engine when no throttle is applied and the clutch is engaged (units: torque * seconds = mass * distance * distance / seconds). More...
 
PHYSXSCHEMA_API UsdAttribute CreateDampingRateZeroThrottleClutchEngagedAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetDampingRateZeroThrottleClutchEngagedAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetDampingRateZeroThrottleClutchDisengagedAttr () const
 Damping rate of engine when no throttle is applied and the clutch is disengaged (units: torque * seconds = mass * distance * distance / seconds). More...
 
PHYSXSCHEMA_API UsdAttribute CreateDampingRateZeroThrottleClutchDisengagedAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetDampingRateZeroThrottleClutchDisengagedAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 

Static Public Member Functions

static PHYSXSCHEMA_API const
TfTokenVector & 
GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. More...
 
static PHYSXSCHEMA_API
PhysxSchemaPhysxVehicleEngineAPI 
Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a PhysxSchemaPhysxVehicleEngineAPI holding the prim adhering to this schema at path on stage. More...
 
static PHYSXSCHEMA_API bool CanApply (const UsdPrim &prim, std::string *whyNot=nullptr)
 Returns true if this single-apply API schema can be applied to the given prim. More...
 
static PHYSXSCHEMA_API
PhysxSchemaPhysxVehicleEngineAPI 
Apply (const UsdPrim &prim)
 Applies this single-apply API schema to the given prim. More...
 

Static Public Attributes

static const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI
 Compile time constant representing what kind of schema this class is. More...
 

Protected Member Functions

PHYSXSCHEMA_API UsdSchemaKind _GetSchemaKind () const override
 Returns the kind of schema this class belongs to. More...
 

Friends

class UsdSchemaRegistry
 

Detailed Description

Properties of a PhysX vehicle engine.

If the engine setup does not need to be shared among vehicle instances, it can be applied to the prim which has PhysxVehicleDriveStandardAPI applied. If the intent is to share the engine setup, PhysxVehicleEngineAPI can be applied to a separate prim which can be linked to (see PhysxVehicleDriveStandardAPI).

Definition at line 60 of file physxVehicleEngineAPI.h.

Constructor & Destructor Documentation

PhysxSchemaPhysxVehicleEngineAPI ( const UsdPrim &  prim = UsdPrim())
inlineexplicit

Construct a PhysxSchemaPhysxVehicleEngineAPI on UsdPrim prim .

Equivalent to PhysxSchemaPhysxVehicleEngineAPI::Get(prim.GetStage(), prim.GetPath()) for a valid prim, but will not immediately throw an error for an invalid prim

Definition at line 72 of file physxVehicleEngineAPI.h.

PhysxSchemaPhysxVehicleEngineAPI ( const UsdSchemaBase &  schemaObj)
inlineexplicit

Construct a PhysxSchemaPhysxVehicleEngineAPI on the prim held by schemaObj .

Should be preferred over PhysxSchemaPhysxVehicleEngineAPI(schemaObj.GetPrim()), as it preserves SchemaBase state.

Definition at line 80 of file physxVehicleEngineAPI.h.

virtual PHYSXSCHEMA_API ~PhysxSchemaPhysxVehicleEngineAPI ( )
virtual

Destructor.

Member Function Documentation

PHYSXSCHEMA_API UsdSchemaKind _GetSchemaKind ( ) const
overrideprotected

Returns the kind of schema this class belongs to.

See Also
UsdSchemaKind
static PHYSXSCHEMA_API PhysxSchemaPhysxVehicleEngineAPI Apply ( const UsdPrim &  prim)
static

Applies this single-apply API schema to the given prim.

This information is stored by adding "PhysxVehicleEngineAPI" to the token-valued, listOp metadata apiSchemas on the prim.

Returns
A valid PhysxSchemaPhysxVehicleEngineAPI object is returned upon success. An invalid (or empty) PhysxSchemaPhysxVehicleEngineAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.
See Also
UsdPrim::GetAppliedSchemas()
UsdPrim::HasAPI()
UsdPrim::CanApplyAPI()
UsdPrim::ApplyAPI()
UsdPrim::RemoveAPI()
static PHYSXSCHEMA_API bool CanApply ( const UsdPrim &  prim,
std::string *  whyNot = nullptr 
)
static

Returns true if this single-apply API schema can be applied to the given prim.

If this schema can not be a applied to the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

See Also
UsdPrim::GetAppliedSchemas()
UsdPrim::HasAPI()
UsdPrim::CanApplyAPI()
UsdPrim::ApplyAPI()
UsdPrim::RemoveAPI()
PHYSXSCHEMA_API UsdAttribute CreateDampingRateFullThrottleAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetDampingRateFullThrottleAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

PHYSXSCHEMA_API UsdAttribute CreateDampingRateZeroThrottleClutchDisengagedAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetDampingRateZeroThrottleClutchDisengagedAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

PHYSXSCHEMA_API UsdAttribute CreateDampingRateZeroThrottleClutchEngagedAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetDampingRateZeroThrottleClutchEngagedAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

PHYSXSCHEMA_API UsdAttribute CreateIdleRotationSpeedAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetIdleRotationSpeedAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

PHYSXSCHEMA_API UsdAttribute CreateMaxRotationSpeedAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetMaxRotationSpeedAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

PHYSXSCHEMA_API UsdAttribute CreateMoiAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetMoiAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

PHYSXSCHEMA_API UsdAttribute CreatePeakTorqueAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetPeakTorqueAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

PHYSXSCHEMA_API UsdAttribute CreateTorqueCurveAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetTorqueCurveAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

static PHYSXSCHEMA_API PhysxSchemaPhysxVehicleEngineAPI Get ( const UsdStagePtr &  stage,
const SdfPath &  path 
)
static

Return a PhysxSchemaPhysxVehicleEngineAPI holding the prim adhering to this schema at path on stage.

If no prim exists at path on stage, or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

* PhysxSchemaPhysxVehicleEngineAPI(stage->GetPrimAtPath(path));
*
PHYSXSCHEMA_API UsdAttribute GetDampingRateFullThrottleAttr ( ) const

Damping rate of engine when full throttle is applied (units: torque * seconds = mass * distance * distance / seconds).

The value has to be greater or equal 0.

Note: if the clutch is engaged (any gear except neutral) then the damping rate applied at run-time is an interpolation between dampingRateZeroThrottleClutchEngaged (see corresponding attribute) and dampingRateFullThrottle: dampingRateZeroThrottleClutchEngaged + ((dampingRateFullThrottle-dampingRateZeroThrottleClutchEngaged) * acceleratorPedal).

Note: if the clutch is disengaged (in neutral gear) the damping rate applied at run-time is an interpolation between dampingRateZeroThrottleClutchDisengaged (see corresponding attribute) and dampingRateFullThrottle: dampingRateZeroThrottleClutchDisengaged + ((dampingRateFullThrottle-dampingRateZeroThrottleClutchDisengaged) * acceleratorPedal).

Note: the default value -1 is not a valid value as such but will result in the value 0.15 being used (in meter length scale and kilogram mass scale or the equivalent if other units are used).

Declaration float physxVehicleEngine:dampingRateFullThrottle = -1
C++ Type float
Usd Type SdfValueTypeNames->Float
PHYSXSCHEMA_API UsdAttribute GetDampingRateZeroThrottleClutchDisengagedAttr ( ) const

Damping rate of engine when no throttle is applied and the clutch is disengaged (units: torque * seconds = mass * distance * distance / seconds).

See attribute "dampingRateFullThrottle" for information about the effect of the value. The value has to be greater or equal 0.

Note: the default value -1 is not a valid value as such but will result in the value 0.35 being used (in meter length scale and kilogram mass scale or the equivalent if other units are used).

Declaration float physxVehicleEngine:dampingRateZeroThrottleClutchDisengaged = -1
C++ Type float
Usd Type SdfValueTypeNames->Float
PHYSXSCHEMA_API UsdAttribute GetDampingRateZeroThrottleClutchEngagedAttr ( ) const

Damping rate of engine when no throttle is applied and the clutch is engaged (units: torque * seconds = mass * distance * distance / seconds).

See attribute "dampingRateFullThrottle" for information about the effect of the value. The value has to be greater or equal 0.

Note: the default value -1 is not a valid value as such but will result in the value 2.0 being used (in meter length scale and kilogram mass scale or the equivalent if other units are used).

Declaration float physxVehicleEngine:dampingRateZeroThrottleClutchEngaged = -1
C++ Type float
Usd Type SdfValueTypeNames->Float
PHYSXSCHEMA_API UsdAttribute GetIdleRotationSpeedAttr ( ) const

Rotation speed of the engine when idling (units: radians / seconds).

The value has to be greater or equal 0.

Declaration float physxVehicleEngine:idleRotationSpeed = 0
C++ Type float
Usd Type SdfValueTypeNames->Float
PHYSXSCHEMA_API UsdAttribute GetMaxRotationSpeedAttr ( ) const

Maximum rotation speed of the engine (units: radians / seconds).

The value has to be greater or equal 0.

Declaration float physxVehicleEngine:maxRotationSpeed = 600
C++ Type float
Usd Type SdfValueTypeNames->Float
PHYSXSCHEMA_API UsdAttribute GetMoiAttr ( ) const

The moment of inertia of the engine around the axis of rotation (units: mass * distance * distance).

The value has to be positive.

Note: if not defined, the value 1.0 will be used. This default value is in meter length scale and kilograms and will get adjusted if other units are used.

Declaration float physxVehicleEngine:moi
C++ Type float
Usd Type SdfValueTypeNames->Float
PHYSXSCHEMA_API UsdAttribute GetPeakTorqueAttr ( ) const

Maximum torque available to apply to the engine when the accelerator pedal is at maximum (units: mass * distance * distance / seconds / seconds).

The value has to be greater or equal 0.

Note: the torque available is the value of the accelerator pedal (in range [0, 1]) multiplied by the normalized torque as computed from torqueCurve (see corresponding attribute) multiplied by peakTorque.

Note: the default value -1 is not a valid value as such but will result in the value 500.0 being used (in meter length scale and kilogram mass scale or the equivalent if other units are used).

Declaration float physxVehicleEngine:peakTorque = -1
C++ Type float
Usd Type SdfValueTypeNames->Float
static PHYSXSCHEMA_API const TfTokenVector& GetSchemaAttributeNames ( bool  includeInherited = true)
static

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

PHYSXSCHEMA_API UsdAttribute GetTorqueCurveAttr ( ) const

Graph of normalized torque (torque / peakTorque) against normalized engine speed (engineRotationSpeed / maxRotationSpeed).

Note: the normalized engine speed is the x-axis of the graph, while the normalized torque is the y-axis of the graph. No more than 8 data points are supported.

Note: if not defined, the following values will be used: [(0.0, 0.8), (0.33, 1.0), (1.0, 0.8)].

Declaration float2[] physxVehicleEngine:torqueCurve
C++ Type VtArray<GfVec2f>
Usd Type SdfValueTypeNames->Float2Array

Member Data Documentation

const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI
static

Compile time constant representing what kind of schema this class is.

See Also
UsdSchemaKind

Definition at line 66 of file physxVehicleEngineAPI.h.


The documentation for this class was generated from the following file: