CARLA
Loading...
Searching...
No Matches
Public Member Functions | List of all members
FWalkerActor Class Reference

#include <CarlaActor.h>

+ Inheritance diagram for FWalkerActor:

Public Member Functions

virtual ECarlaServerResponse ApplyControlToWalker (const FWalkerControl &) final
 
virtual ECarlaServerResponse BlendPose (float Blend)
 
 FWalkerActor (IdType ActorId, AActor *Actor, TSharedPtr< const FActorInfo > Info, carla::rpc::ActorState InState, UWorld *World)
 
virtual FVector GetActorVelocity () const final
 Walkers move via UCharacterMovementComponent (kinematic sweeps driven by AddMovementInput), not physics simulation.
 
virtual ECarlaServerResponse GetBonesTransform (FWalkerBoneControlOut &) final
 
virtual ECarlaServerResponse GetPoseFromAnimation ()
 
virtual ECarlaServerResponse GetWalkerControl (FWalkerControl &) final
 
virtual ECarlaServerResponse SetActorDead ()
 
virtual ECarlaServerResponse SetActorEnableGravity (bool bEnabled) final
 
virtual ECarlaServerResponse SetActorSimulatePhysics (bool bSimulatePhysics) final
 
virtual ECarlaServerResponse SetBonesTransform (const FWalkerBoneControlIn &) final
 
virtual ECarlaServerResponse SetWalkerState (const FTransform &Transform, carla::rpc::WalkerControl WalkerControl) final
 
- Public Member Functions inherited from FCarlaActor
ECarlaServerResponse AddActorAngularImpulse (const FVector &AngularInpulse)
 
ECarlaServerResponse AddActorForce (const FVector &Force)
 
ECarlaServerResponse AddActorForceAtLocation (const FVector &Force, const FVector &Location)
 
ECarlaServerResponse AddActorImpulse (const FVector &Impulse)
 
ECarlaServerResponse AddActorImpulseAtLocation (const FVector &Impulse, const FVector &Location)
 
ECarlaServerResponse AddActorTorque (const FVector &Torque)
 
void AddChildren (IdType ChildId)
 
virtual ECarlaServerResponse ApplyAckermannControllerSettings (const FAckermannControllerSettings &)
 
virtual ECarlaServerResponse ApplyAckermannControlToVehicle (const FVehicleAckermannControl &, const EVehicleInputPriority &)
 
virtual ECarlaServerResponse ApplyControlToVehicle (const FVehicleControl &, const EVehicleInputPriority &)
 
virtual ECarlaServerResponse ApplyPhysicsControl (const FVehiclePhysicsControl &)
 
void BuildActorData ()
 
void ClearMirroredKinematics ()
 
virtual ECarlaServerResponse CloseVehicleDoor (const EVehicleDoor)
 
virtual ECarlaServerResponse DisableActorConstantAcceleration ()
 
virtual ECarlaServerResponse DisableActorConstantVelocity ()
 
virtual ECarlaServerResponse EnableActorConstantAcceleration (const FVector &)
 
virtual ECarlaServerResponse EnableActorConstantVelocity (const FVector &)
 
virtual ECarlaServerResponse EnableCarSim (const FString &)
 
virtual ECarlaServerResponse EnableChronoPhysics (uint64_t, float, const FString &, const FString &, const FString &, const FString &)
 
 FCarlaActor ()=default
 
 FCarlaActor (IdType ActorId, AActor *Actor, TSharedPtr< const FActorInfo > Info, carla::rpc::ActorState InState, UWorld *World)
 
virtual ECarlaServerResponse FreezeTrafficLight (bool)
 
virtual ECarlaServerResponse GetAckermannControllerSettings (FAckermannControllerSettings &)
 
AActor * GetActor ()
 
const AActor * GetActor () const
 
FVector GetActorAngularVelocity () const
 
ECarlaServerResponse GetActorBoneNames (TArray< FString > &Names) const
 
ECarlaServerResponse GetActorBoneRelativeTransforms (TArray< FTransform > &Transforms) const
 
ECarlaServerResponse GetActorBoneWorldTransforms (TArray< FTransform > &Transforms) const
 
ECarlaServerResponse GetActorComponentNames (TArray< FString > &Names) const
 
ECarlaServerResponse GetActorComponentRelativeTransform (const FString &ComponentName, FTransform &Transform) const
 
ECarlaServerResponse GetActorComponentWorldTransform (const FString &ComponentName, FTransform &Transform) const
 
FActorData * GetActorData ()
 
template<typename T >
T * GetActorData ()
 
const FActorData * GetActorData () const
 
template<typename T >
const T * GetActorData () const
 
FVector GetActorGlobalLocation () const
 
FTransform GetActorGlobalTransform () const
 
IdType GetActorId () const
 
const FActorInfo * GetActorInfo () const
 
FVector GetActorLocalLocation () const
 
FTransform GetActorLocalTransform () const
 
ECarlaServerResponse GetActorRigSnapshot (FActorRigSnapshot &Rig) const
 
ECarlaServerResponse GetActorSocketNames (TArray< FString > &Names) const
 
ECarlaServerResponse GetActorSocketRelativeTransforms (TArray< FTransform > &Transforms) const
 
ECarlaServerResponse GetActorSocketWorldTransforms (TArray< FTransform > &Transforms) const
 
carla::rpc::ActorState GetActorState () const
 
ActorType GetActorType () const
 
carla::rpc::AttachmentType GetAttachmentType () const
 
const TArray< IdType > & GetChildren () const
 
virtual ECarlaServerResponse GetFailureState (carla::rpc::VehicleFailureState &)
 
FVector GetMirroredAngularVelocityInRadians () const
 
uint64 GetMirroredKinematicsFrame () const
 
IdType GetParent () const
 
virtual ECarlaServerResponse GetPhysicsControl (FVehiclePhysicsControl &)
 
IdType GetPrimaryActorId () const
 The id clients know this actor by: the primary's for a mirror on a Multi-GPU secondary, this actor's own id everywhere else.
 
virtual UTrafficLightController * GetTrafficLightController ()
 
virtual ETrafficLightState GetTrafficLightState () const
 
virtual ECarlaServerResponse GetVehicleAckermannControl (FVehicleAckermannControl &)
 
virtual ECarlaServerResponse GetVehicleControl (FVehicleControl &)
 
virtual ECarlaServerResponse GetVehicleLightState (FVehicleLightState &)
 
virtual ECarlaServerResponse GetVehicleTelemetryData (FVehicleTelemetryData &)
 
virtual ECarlaServerResponse GetWheelPitchAngle (const EVehicleWheelLocation &, float &)
 
virtual ECarlaServerResponse GetWheelSteerAngle (const EVehicleWheelLocation &, float &)
 
virtual ECarlaServerResponse GetWheelSuspensionOffset (const EVehicleWheelLocation &, float &)
 
bool HasMirroredKinematics () const
 
bool IsActive () const
 
bool IsAlive () const
 
bool IsDormant () const
 
bool IsInValid () const
 
bool IsPendingKill () const
 
virtual ECarlaServerResponse OpenVehicleDoor (const EVehicleDoor)
 
void PutActorToSleep (UCarlaEpisode *CarlaEpisode)
 
void RemoveChildren (IdType ChildId)
 
virtual ECarlaServerResponse ResetTrafficLightGroup ()
 
virtual ECarlaServerResponse SetActorAutopilot (bool, bool bKeepState=false)
 
virtual ECarlaServerResponse SetActorCollisions (bool bEnabled)
 
void SetActorGlobalLocation (const FVector &Location, ETeleportType Teleport=ETeleportType::TeleportPhysics)
 
void SetActorGlobalTransform (const FTransform &Transform, ETeleportType Teleport=ETeleportType::TeleportPhysics)
 
void SetActorLocalLocation (const FVector &Location, ETeleportType Teleport=ETeleportType::TeleportPhysics)
 
void SetActorLocalTransform (const FTransform &Transform, ETeleportType Teleport=ETeleportType::TeleportPhysics)
 
void SetActorState (carla::rpc::ActorState InState)
 
ECarlaServerResponse SetActorTargetAngularVelocity (const FVector &AngularVelocity)
 
ECarlaServerResponse SetActorTargetVelocity (const FVector &Velocity)
 
void SetAttachmentType (carla::rpc::AttachmentType InAttachmentType)
 
virtual ECarlaServerResponse SetLightGreenTime (float)
 
virtual ECarlaServerResponse SetLightRedTime (float)
 
virtual ECarlaServerResponse SetLightYellowTime (float)
 
void SetMirroredKinematics (const FVector &Velocity, const FVector &AngularVelocityRadians, uint64 Frame)
 Multi-GPU secondary: the primary's velocities of the actor this one mirrors, in the world frame (cm/s and rad/s), of primary frame Frame.
 
void SetParent (IdType InParentId)
 
void SetPrimaryActorId (IdType InPrimaryActorId)
 Multi-GPU secondary: the id the primary gave the actor this one mirrors.
 
virtual ECarlaServerResponse SetTrafficLightState (const ETrafficLightState &)
 
virtual ECarlaServerResponse SetVehicleLightState (const FVehicleLightState &)
 
virtual ECarlaServerResponse SetWheelAnimationOverride (bool)
 
virtual ECarlaServerResponse SetWheelPitchAngle (const EVehicleWheelLocation &, float)
 
virtual ECarlaServerResponse SetWheelSteerDirection (const EVehicleWheelLocation &, float)
 
virtual ECarlaServerResponse SetWheelSuspensionOffset (const EVehicleWheelLocation &, float)
 
virtual ECarlaServerResponse ShowVehicleDebugTelemetry (bool)
 
ECarlaServerResponse ToWorld (const TArray< FTransform > &Relative, TArray< FTransform > &Transforms) const
 
virtual ECarlaServerResponse UseCarSimRoad (bool)
 
void WakeActorUp (UCarlaEpisode *CarlaEpisode)
 
virtual ~FCarlaActor ()
 

Additional Inherited Members

- Public Types inherited from FCarlaActor
enum class  ActorType : uint8 {
  Other , Vehicle , Walker , TrafficLight ,
  TrafficSign , Sensor , INVALID
}
 
using IdType = uint32
 
- Static Public Member Functions inherited from FCarlaActor
static TSharedPtr< FCarlaActor > ConstructCarlaActor (IdType ActorId, AActor *Actor, TSharedPtr< const FActorInfo > Info, ActorType Type, carla::rpc::ActorState InState, UWorld *World)
 
- Protected Attributes inherited from FCarlaActor
TSharedPtr< FActorData > ActorData = nullptr
 
bool bHasMirroredKinematics = false
 
FVector MirroredAngularVelocity = FVector::ZeroVector
 
uint64 MirroredKinematicsFrame = 0u
 
FVector MirroredVelocity = FVector::ZeroVector
 
ActorType Type = ActorType::INVALID
 
UWorld * World = nullptr
 

Detailed Description

Definition at line 744 of file CarlaActor.h.

Constructor & Destructor Documentation

◆ FWalkerActor()

FWalkerActor::FWalkerActor ( IdType  ActorId,
AActor *  Actor,
TSharedPtr< const FActorInfo >  Info,
carla::rpc::ActorState  InState,
UWorld *  World 
)

Definition at line 101 of file CarlaActor.cpp.

References FCarlaActor::ActorData, FCarlaActor::Type, and FCarlaActor::Walker.

Member Function Documentation

◆ ApplyControlToWalker()

ECarlaServerResponse FWalkerActor::ApplyControlToWalker ( const FWalkerControl &  Control)
finalvirtual

◆ BlendPose()

ECarlaServerResponse FWalkerActor::BlendPose ( float  Blend)
virtual

◆ GetActorVelocity()

FVector FWalkerActor::GetActorVelocity ( ) const
finalvirtual

Walkers move via UCharacterMovementComponent (kinematic sweeps driven by AddMovementInput), not physics simulation.

AActor::GetVelocity() (via APawn::GetVelocity()) prefers the root component's physics-body velocity whenever the root is simulating physics, which for walker Blueprints configured for ragdoll death is often true even while idle – so the base FCarlaActor::GetActorVelocity() path can report near-zero while the walker is actually moving briskly. Read the movement component's own tracked velocity directly instead.

Reimplemented from FCarlaActor.

Definition at line 1612 of file CarlaActor.cpp.

References FCarlaActor::bHasMirroredKinematics, Character, FCarlaActor::GetActor(), FCarlaActor::GetActorData(), FCarlaActor::IsDormant(), FCarlaActor::MirroredVelocity, and FActorData::Velocity.

◆ GetBonesTransform()

ECarlaServerResponse FWalkerActor::GetBonesTransform ( FWalkerBoneControlOut &  Bones)
finalvirtual

◆ GetPoseFromAnimation()

ECarlaServerResponse FWalkerActor::GetPoseFromAnimation ( )
virtual

◆ GetWalkerControl()

ECarlaServerResponse FWalkerActor::GetWalkerControl ( FWalkerControl &  Control)
finalvirtual

◆ SetActorDead()

ECarlaServerResponse FWalkerActor::SetActorDead ( )
virtual

Reimplemented from FCarlaActor.

Definition at line 1840 of file CarlaActor.cpp.

References FCarlaActor::GetActor(), FCarlaActor::IsDormant(), NotAWalker, Success, and FCarlaActor::Walker.

◆ SetActorEnableGravity()

ECarlaServerResponse FWalkerActor::SetActorEnableGravity ( bool  bEnabled)
finalvirtual

Reimplemented from FCarlaActor.

Definition at line 1700 of file CarlaActor.cpp.

References Character, FCarlaActor::GetActor(), FCarlaActor::IsDormant(), NotAWalker, and Success.

◆ SetActorSimulatePhysics()

ECarlaServerResponse FWalkerActor::SetActorSimulatePhysics ( bool  bSimulatePhysics)
finalvirtual

◆ SetBonesTransform()

ECarlaServerResponse FWalkerActor::SetBonesTransform ( const FWalkerBoneControlIn &  Bones)
finalvirtual

◆ SetWalkerState()

ECarlaServerResponse FWalkerActor::SetWalkerState ( const FTransform &  Transform,
carla::rpc::WalkerControl  WalkerControl 
)
finalvirtual

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