All Classes Files Functions Variables Pages
PhysxSchemaPhysxVehicleAckermannSteeringAPI Class Reference

Describes a steering system with Ackermann correction for two wheels. More...

Inherits UsdAPISchemaBase.

Public Member Functions

 PhysxSchemaPhysxVehicleAckermannSteeringAPI (const UsdPrim &prim=UsdPrim())
 Construct a PhysxSchemaPhysxVehicleAckermannSteeringAPI on UsdPrim prim . More...
 
 PhysxSchemaPhysxVehicleAckermannSteeringAPI (const UsdSchemaBase &schemaObj)
 Construct a PhysxSchemaPhysxVehicleAckermannSteeringAPI on the prim held by schemaObj . More...
 
virtual PHYSXSCHEMA_API ~PhysxSchemaPhysxVehicleAckermannSteeringAPI ()
 Destructor. More...
 
PHYSXSCHEMA_API UsdAttribute GetWheel0Attr () const
 The index of the wheel that is negative along the lateral axis and should get connected to the steering system. More...
 
PHYSXSCHEMA_API UsdAttribute CreateWheel0Attr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetWheel0Attr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetWheel1Attr () const
 The index of the wheel that is positive along the lateral axis and should get connected to the steering system. More...
 
PHYSXSCHEMA_API UsdAttribute CreateWheel1Attr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetWheel1Attr(), 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 GetWheelBaseAttr () const
 The longitudinal distance between the axle that is affected by Ackermann correction and a reference axle (units: distance). More...
 
PHYSXSCHEMA_API UsdAttribute CreateWheelBaseAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetWheelBaseAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetTrackWidthAttr () const
 The width of the axle defined by wheel0 and wheel1 (units: distance). More...
 
PHYSXSCHEMA_API UsdAttribute CreateTrackWidthAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetTrackWidthAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. More...
 
PHYSXSCHEMA_API UsdAttribute GetStrengthAttr () const
 The strength of the Ackermann correction with 0 denoting no correction and 1 denoting perfect correction. More...
 
PHYSXSCHEMA_API UsdAttribute CreateStrengthAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetStrengthAttr(), 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
PhysxSchemaPhysxVehicleAckermannSteeringAPI 
Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a PhysxSchemaPhysxVehicleAckermannSteeringAPI 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
PhysxSchemaPhysxVehicleAckermannSteeringAPI 
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 with Ackermann correction for two wheels.

This system will result in asymmetric steer angles such that the line defined by the non-steered wheel axle and the lateral lines of the steered wheels meet at the same point. As a consequence, when following the path around a curve, the inner wheel will turn more than the outer one. This avoids that some wheels need to slip sideways to stay on the path. The specified wheels will be connected to the steer control (see PhysxVehicleControllerAPI). 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). This API schema can not be combined with PhysxVehicleSteeringAPI, only one or the other is allowed.

Definition at line 65 of file physxVehicleAckermannSteeringAPI.h.

Constructor & Destructor Documentation

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

Construct a PhysxSchemaPhysxVehicleAckermannSteeringAPI on UsdPrim prim .

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

Definition at line 77 of file physxVehicleAckermannSteeringAPI.h.

PhysxSchemaPhysxVehicleAckermannSteeringAPI ( const UsdSchemaBase &  schemaObj)
inlineexplicit

Construct a PhysxSchemaPhysxVehicleAckermannSteeringAPI on the prim held by schemaObj .

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

Definition at line 85 of file physxVehicleAckermannSteeringAPI.h.

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

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

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

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

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

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

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

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

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

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

* PhysxSchemaPhysxVehicleAckermannSteeringAPI(stage->GetPrimAtPath(path));
*
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]. The steer angle of wheel0 will be defined by maxSteerAngle * ackermann_correction(0) * physxVehicleController:steer (see PhysxVehicleControllerAPI).

Declaration float physxVehicleAckermannSteering: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 GetStrengthAttr ( ) const

The strength of the Ackermann correction with 0 denoting no correction and 1 denoting perfect correction.

The value has to be in range [0, 1].

Declaration float physxVehicleAckermannSteering:strength = 1
C++ Type float
Usd Type SdfValueTypeNames->Float
PHYSXSCHEMA_API UsdAttribute GetTrackWidthAttr ( ) const

The width of the axle defined by wheel0 and wheel1 (units: distance).

The value has to be greater than zero.

Note: this attribute has to be specified (there is no default).

Declaration float physxVehicleAckermannSteering:trackWidth
C++ Type float
Usd Type SdfValueTypeNames->Float
PHYSXSCHEMA_API UsdAttribute GetWheel0Attr ( ) const

The index of the wheel that is negative along the lateral axis and should get connected to the steering system.

The index refers to the attribute "index" of PhysxVehicleWheelAttachmentAPI.

Note: this attribute has to be specified (there is no default).

Declaration int physxVehicleAckermannSteering:wheel0
C++ Type int
Usd Type SdfValueTypeNames->Int
PHYSXSCHEMA_API UsdAttribute GetWheel1Attr ( ) const

The index of the wheel that is positive along the lateral axis and should get connected to the steering system.

The index refers to the attribute "index" of PhysxVehicleWheelAttachmentAPI.

Note: this attribute has to be specified (there is no default).

Declaration int physxVehicleAckermannSteering:wheel1
C++ Type int
Usd Type SdfValueTypeNames->Int
PHYSXSCHEMA_API UsdAttribute GetWheelBaseAttr ( ) const

The longitudinal distance between the axle that is affected by Ackermann correction and a reference axle (units: distance).

The value has to be greater than zero.

Note: this attribute has to be specified (there is no default).

Declaration float physxVehicleAckermannSteering:wheelBase
C++ Type float
Usd Type SdfValueTypeNames->Float

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 71 of file physxVehicleAckermannSteeringAPI.h.


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