All Classes Files Functions Variables Pages
PhysxSchemaPhysxVehicleSteeringAPI Class Reference

Describes a steering system for a vehicle by specifying which wheels are connected to the steer control and by defining the maximum steer angle for those wheels (see PhysxVehicleControllerAPI for the steer control). More...

Inherits UsdAPISchemaBase.

Public Member Functions

 PhysxSchemaPhysxVehicleSteeringAPI (const UsdPrim &prim=UsdPrim())
 Construct a PhysxSchemaPhysxVehicleSteeringAPI on UsdPrim prim . More...
 
 PhysxSchemaPhysxVehicleSteeringAPI (const UsdSchemaBase &schemaObj)
 Construct a PhysxSchemaPhysxVehicleSteeringAPI on the prim held by schemaObj . More...
 
virtual PHYSXSCHEMA_API ~PhysxSchemaPhysxVehicleSteeringAPI ()
 Destructor. More...
 
PHYSXSCHEMA_API UsdAttribute GetWheelsAttr () const
 List of indices, referencing the wheels that are going to be steered. More...
 
PHYSXSCHEMA_API UsdAttribute CreateWheelsAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetWheelsAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetMaxSteerAngleAttr () const
 The maximum steer angle (in radians) that can be achieved by the wheels. More...
 
PHYSXSCHEMA_API UsdAttribute CreateMaxSteerAngleAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetMaxSteerAngleAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetAngleMultipliersAttr () const
 Allows to adjust the max steer angle for each wheel that is steered. More...
 
PHYSXSCHEMA_API UsdAttribute CreateAngleMultipliersAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetAngleMultipliersAttr(), 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
PhysxSchemaPhysxVehicleSteeringAPI 
Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a PhysxSchemaPhysxVehicleSteeringAPI 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
PhysxSchemaPhysxVehicleSteeringAPI 
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

Describes a steering system for a vehicle by specifying which wheels are connected to the steer control and by defining the maximum steer angle for those wheels (see PhysxVehicleControllerAPI for the steer control).

This API schema has to be applied to a prim with PhysxVehicleAPI applied. Can only be used for vehicles that have a drive (see PhysxVehicleDriveBasicAPI or PhysxVehicleDriveStandardAPI).

Definition at line 61 of file physxVehicleSteeringAPI.h.

Constructor & Destructor Documentation

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

Construct a PhysxSchemaPhysxVehicleSteeringAPI on UsdPrim prim .

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

Definition at line 73 of file physxVehicleSteeringAPI.h.

PhysxSchemaPhysxVehicleSteeringAPI ( const UsdSchemaBase &  schemaObj)
inlineexplicit

Construct a PhysxSchemaPhysxVehicleSteeringAPI on the prim held by schemaObj .

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

Definition at line 81 of file physxVehicleSteeringAPI.h.

virtual PHYSXSCHEMA_API ~PhysxSchemaPhysxVehicleSteeringAPI ( )
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 PhysxSchemaPhysxVehicleSteeringAPI Apply ( const UsdPrim &  prim)
static

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

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

Returns
A valid PhysxSchemaPhysxVehicleSteeringAPI object is returned upon success. An invalid (or empty) PhysxSchemaPhysxVehicleSteeringAPI 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 CreateAngleMultipliersAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetAngleMultipliersAttr(), 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 CreateMaxSteerAngleAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetMaxSteerAngleAttr(), 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 CreateWheelsAttr ( VtValue const &  defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetWheelsAttr(), 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 PhysxSchemaPhysxVehicleSteeringAPI Get ( const UsdStagePtr &  stage,
const SdfPath &  path 
)
static

Return a PhysxSchemaPhysxVehicleSteeringAPI 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:

* PhysxSchemaPhysxVehicleSteeringAPI(stage->GetPrimAtPath(path));
*
PHYSXSCHEMA_API UsdAttribute GetAngleMultipliersAttr ( ) const

Allows to adjust the max steer angle for each wheel that is steered.

The values are unitless multipliers. See maxSteerAngle for how these multipliers affect the steer angle of a wheel. If the attribute is defined, then the length of the array needs to match the length of the "wheels" array. If the attribute is not defined, a multiplier value of 1 will be used for all steered wheels.

Declaration float[] physxVehicleSteering:angleMultipliers
C++ Type VtArray<float>
Usd Type SdfValueTypeNames->FloatArray
PHYSXSCHEMA_API UsdAttribute GetMaxSteerAngleAttr ( ) const

The maximum steer angle (in radians) that can be achieved by the wheels.

Has to be in range [-pi, pi] when multiplied by the attribute angleMultipliers. The steer angle of wheels[i] will be defined by maxSteerAngle * angleMultipliers[i] * physxVehicleController:steer (see PhysxVehicleControllerAPI).

Declaration float physxVehicleSteering:maxSteerAngle = 0
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 GetWheelsAttr ( ) const

List of indices, referencing the wheels that are going to be steered.

The indices refer to the attribute "index" of PhysxVehicleWheelAttachmentAPI. If not specified, every wheel will be affected by the steer control using an angle multiplier of 1 (see attribute angleMultipliers).

Declaration int[] physxVehicleSteering:wheels
C++ Type VtArray<int>
Usd Type SdfValueTypeNames->IntArray

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 67 of file physxVehicleSteeringAPI.h.


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