RapyutaSimulationPlugins
Public Member Functions | Public Attributes | List of all members
FRREntityModelData Struct Reference

Core UE struct housing entity (robot, object) model data, wrapped by FRREntityModelInfo & FRREntityModelTableRow. More...

#include <RREntityStructs.h>

Collaboration diagram for FRREntityModelData:
Collaboration graph
[legend]

Public Member Functions

 FRREntityModelData (const TArray< FString > &InModelNameList)
 
 FRREntityModelData (TArray< FString > &&InModelNameList)
 
 FRREntityModelData ()
 
bool IsURDF () const
 
bool IsSDF () const
 
bool IsUEDataTable () const
 
bool IsSingleCAD () const
 
FString GetModelDescTypeName () const
 
bool IsWorldModel () const
 
FString GetModelName () const
 
int32 GetVisualsNum () const
 
bool IsUEComponentEnabled (const int32 InTypeMask) const
 
bool IsUEComponentEnabled (const ERRUEComponentType InTypeMask) const
 
void SetUEComponentEnabled (const int32 InTypeMask)
 
void SetUEComponentEnabled (const ERRUEComponentType InTypeMask)
 
bool IsPlainManipulatorModel () const
 
bool IsPlainWheeledVehicleModel () const
 
bool HasDriveComponents () const
 
bool IsRobotModel () const
 
bool IsObjectModel () const
 
void UpdateLinksLocationFromJoints ()
 http://wiki.ros.org/urdf/XML/joint More...
 
void RemoveLinkJointProp (const FString &InLinkName)
 Remove all link properties of InLinkName and its corresponding joint properties having their #ParentLinkName as InLinkName. More...
 
FRRRobotLinkProperty GetBaseLinkProp () const
 Get the property of base link of which the name is denoted by BaseLinkName. More...
 
FRRRobotLinkProperty GetLinkProp (const FString &InLinkName) const
 Get the property of a link by name read from URDF/SDF or CAD like FBX/COLLADA. More...
 
FRRRobotJointProperty GetJointProp (const FString &InJointName) const
 Get the property of a joint by name read from URDF/SDF or CAD like FBX/COLLADA. More...
 
FRRRobotJointProperty GetJointPropFromChildLinkName (const FString &InChildLinkName) const
 Get the property of the first joint having its child link name as InChildLinkName. More...
 
FRRRobotLinkProperty FindLinkProp (int8 InLinkIndex) const
 Get the property of a link by its LinkIndex. More...
 
FRRRobotJointProperty FindJointPropByLinkIndex (int8 InLinkIndex) const
 Get the property of a joint of which the child link name matchs the link property fetched by its LinkIndex. More...
 
FTransform GetLinkVisualOffset (int8 InLinkIndex) const
 Get visual offset transform of a link by its LinkIndex. More...
 
FTransform GetLinkAbsoluteTransform (int8 InLinkIndex) const
 Get the absolute transform of a link (in owner robot's frame) by its LinkIndex. More...
 
FTransform GetLinkRelativeTransform (int8 InLinkIndex) const
 Get the relative transform of a link to its parent by its LinkIndex. More...
 
FTransform GetLinkRelTransformToBase (int8 InLinkIndex) const
 Get the relative transform of a link to base link its LinkIndex. More...
 
FTransform GetLinkVisualOffsetToBase (int8 InLinkIndex) const
 Get the visual offset transform of a link to base link its LinkIndex. More...
 
FRREntityGeometryInfo GetVisualInfo () const
 Get model visual info. More...
 
FRRMaterialProperty GetBodyMaterialInfo () const
 
FRRMaterialProperty GetVisualMaterialInfo () const
 
bool HasWheel (const FString &InWheelName) const
 
bool operator== (const FRREntityModelData &OtherModelData)
 
bool IsValid (bool bIsLogged=false) const
 
void PrintSelf () const
 

Public Attributes

ERREntityDescriptionType ModelDescType = ERREntityDescriptionType::NONE
 Robot Model Description Type (URDF/SDF) More...
 
FString WorldName
 
bool bHasWorldJoint = false
 
TArray< FString > ModelNameList
 World model: [ModelNameList] >= 1. More...
 
FVector TotalSize = FVector::ZeroVector
 Meshes are async loaded, & so their sizes. More...
 
FString BaseFolderPath
 Path to the base package folder, from which meshes' CAD file paths are defined as relative to. More...
 
FString DescriptionFilePath
 Robot Model Description File (URDF/SDF) More...
 
int32 CreatedInstancesNum = 0
 
FString ParentFrameName
 
FTransform RelativeTransform = FTransform::Identity
 
int32 UEComponentTypeFlags = 0
 UE Component types. More...
 
FString BaseLinkName
 
TArray< FRRRobotLinkPropertyLinkPropList
 
TArray< FRRRobotJointPropertyJointPropList
 
TArray< FRREntityModelDataChildModelsData
 Struct recursion is NOT yet supported for UPROPERTY. More...
 
FString WholeBodyStaticMeshName
 
FRRMaterialProperty WholeBodyMaterialInfo
 
TArray< FString > ArticulatedLinksNames
 
TArray< FString > EndEffectorNames
 
TArray< FRRRobotWheelPropertyWheelPropList
 

Detailed Description

Core UE struct housing entity (robot, object) model data, wrapped by FRREntityModelInfo & FRREntityModelTableRow.

USTRUCT(BlueprintType)

Constructor & Destructor Documentation

◆ FRREntityModelData() [1/3]

FRREntityModelData::FRREntityModelData ( const TArray< FString > &  InModelNameList)
inline

◆ FRREntityModelData() [2/3]

FRREntityModelData::FRREntityModelData ( TArray< FString > &&  InModelNameList)
inline

◆ FRREntityModelData() [3/3]

FRREntityModelData::FRREntityModelData ( )
inline

Member Function Documentation

◆ FindJointPropByLinkIndex()

FRRRobotJointProperty FRREntityModelData::FindJointPropByLinkIndex ( int8  InLinkIndex) const
inline

Get the property of a joint of which the child link name matchs the link property fetched by its LinkIndex.

NOTE: LinkIndex is assigned indendently from its index in LinkPropList as building robot skeleton structure

Parameters
InLinkIndex
Returns
FRRRobotJointProperty

◆ FindLinkProp()

FRRRobotLinkProperty FRREntityModelData::FindLinkProp ( int8  InLinkIndex) const
inline

Get the property of a link by its LinkIndex.

NOTE: LinkIndex is assigned indendently from its index in LinkPropList as building robot skeleton structure

Parameters
InLinkIndex
Returns
FRRRobotLinkProperty

◆ GetBaseLinkProp()

FRRRobotLinkProperty FRREntityModelData::GetBaseLinkProp ( ) const
inline

Get the property of base link of which the name is denoted by BaseLinkName.

Returns
FRRRobotLinkProperty

◆ GetBodyMaterialInfo()

FRRMaterialProperty FRREntityModelData::GetBodyMaterialInfo ( ) const
inline

◆ GetJointProp()

FRRRobotJointProperty FRREntityModelData::GetJointProp ( const FString &  InJointName) const
inline

Get the property of a joint by name read from URDF/SDF or CAD like FBX/COLLADA.

Parameters
InJointName
Returns
FRRRobotJointProperty

◆ GetJointPropFromChildLinkName()

FRRRobotJointProperty FRREntityModelData::GetJointPropFromChildLinkName ( const FString &  InChildLinkName) const
inline

Get the property of the first joint having its child link name as InChildLinkName.

Parameters
InChildLinkName
Returns
FRRRobotJointProperty

◆ GetLinkAbsoluteTransform()

FTransform FRREntityModelData::GetLinkAbsoluteTransform ( int8  InLinkIndex) const
inline

Get the absolute transform of a link (in owner robot's frame) by its LinkIndex.

NOTE: LinkIndex is assigned indendently from its index in LinkPropList as building robot skeleton structure

Parameters
InLinkIndex
Returns
FTransform

◆ GetLinkProp()

FRRRobotLinkProperty FRREntityModelData::GetLinkProp ( const FString &  InLinkName) const
inline

Get the property of a link by name read from URDF/SDF or CAD like FBX/COLLADA.

Parameters
InLinkName
Returns
FRRRobotLinkProperty

◆ GetLinkRelativeTransform()

FTransform FRREntityModelData::GetLinkRelativeTransform ( int8  InLinkIndex) const
inline

Get the relative transform of a link to its parent by its LinkIndex.

NOTE: LinkIndex is assigned indendently from its index in LinkPropList as building robot skeleton structure

Parameters
InLinkIndex
Returns
FTransform

◆ GetLinkRelTransformToBase()

FTransform FRREntityModelData::GetLinkRelTransformToBase ( int8  InLinkIndex) const
inline

Get the relative transform of a link to base link its LinkIndex.

NOTE: LinkIndex is assigned indendently from its index in LinkPropList as building robot skeleton structure

Parameters
InLinkIndex
Returns
FTransform

◆ GetLinkVisualOffset()

FTransform FRREntityModelData::GetLinkVisualOffset ( int8  InLinkIndex) const
inline

Get visual offset transform of a link by its LinkIndex.

NOTE: LinkIndex is assigned indendently from its index in LinkPropList as building robot skeleton structure

Parameters
InLinkIndex
Returns
FTransform

◆ GetLinkVisualOffsetToBase()

FTransform FRREntityModelData::GetLinkVisualOffsetToBase ( int8  InLinkIndex) const
inline

Get the visual offset transform of a link to base link its LinkIndex.

NOTE: LinkIndex is assigned indendently from its index in LinkPropList as building robot skeleton structure

Parameters
InLinkIndex
Returns
FTransform

◆ GetModelDescTypeName()

FString FRREntityModelData::GetModelDescTypeName ( ) const
inline

◆ GetModelName()

FString FRREntityModelData::GetModelName ( ) const
inline

◆ GetVisualInfo()

FRREntityGeometryInfo FRREntityModelData::GetVisualInfo ( ) const
inline

Get model visual info.

◆ GetVisualMaterialInfo()

FRRMaterialProperty FRREntityModelData::GetVisualMaterialInfo ( ) const
inline

◆ GetVisualsNum()

int32 FRREntityModelData::GetVisualsNum ( ) const
inline

◆ HasDriveComponents()

bool FRREntityModelData::HasDriveComponents ( ) const
inline

◆ HasWheel()

bool FRREntityModelData::HasWheel ( const FString &  InWheelName) const
inline

◆ IsObjectModel()

bool FRREntityModelData::IsObjectModel ( ) const
inline

◆ IsPlainManipulatorModel()

bool FRREntityModelData::IsPlainManipulatorModel ( ) const
inline

◆ IsPlainWheeledVehicleModel()

bool FRREntityModelData::IsPlainWheeledVehicleModel ( ) const
inline

◆ IsRobotModel()

bool FRREntityModelData::IsRobotModel ( ) const
inline

◆ IsSDF()

bool FRREntityModelData::IsSDF ( ) const
inline

◆ IsSingleCAD()

bool FRREntityModelData::IsSingleCAD ( ) const
inline

◆ IsUEComponentEnabled() [1/2]

bool FRREntityModelData::IsUEComponentEnabled ( const ERRUEComponentType  InTypeMask) const
inline

◆ IsUEComponentEnabled() [2/2]

bool FRREntityModelData::IsUEComponentEnabled ( const int32  InTypeMask) const
inline

◆ IsUEDataTable()

bool FRREntityModelData::IsUEDataTable ( ) const
inline

◆ IsURDF()

bool FRREntityModelData::IsURDF ( ) const
inline

◆ IsValid()

bool FRREntityModelData::IsValid ( bool  bIsLogged = false) const
inline

◆ IsWorldModel()

bool FRREntityModelData::IsWorldModel ( ) const
inline

◆ operator==()

bool FRREntityModelData::operator== ( const FRREntityModelData OtherModelData)
inline

◆ PrintSelf()

void FRREntityModelData::PrintSelf ( ) const
inline

◆ RemoveLinkJointProp()

void FRREntityModelData::RemoveLinkJointProp ( const FString &  InLinkName)
inline

Remove all link properties of InLinkName and its corresponding joint properties having their #ParentLinkName as InLinkName.

Parameters
InLinkName

◆ SetUEComponentEnabled() [1/2]

void FRREntityModelData::SetUEComponentEnabled ( const ERRUEComponentType  InTypeMask)
inline

◆ SetUEComponentEnabled() [2/2]

void FRREntityModelData::SetUEComponentEnabled ( const int32  InTypeMask)
inline

◆ UpdateLinksLocationFromJoints()

void FRREntityModelData::UpdateLinksLocationFromJoints ( )
inline

http://wiki.ros.org/urdf/XML/joint

This is only applied to link/joint properties read from URDF, where the joint locates at the origin of the child

link. JointProp's loc info is a relative location of child link to its parent link. Since every Link other than the

base link has to be connected to another link, the number of joints is fixed.

JointInfo's Location --> Child Link Info

http://sdformat.org/spec?elem=joint

http://sdformat.org/tutorials?tut=pose_frame_semantics

For SDF, typically link visual pose (as relative to child link) is defined independently of joint, which is also

attached to child link.

Member Data Documentation

◆ ArticulatedLinksNames

TArray<FString> FRREntityModelData::ArticulatedLinksNames

◆ BaseFolderPath

FString FRREntityModelData::BaseFolderPath

Path to the base package folder, from which meshes' CAD file paths are defined as relative to.

UPROPERTY(VisibleAnywhere)

◆ BaseLinkName

FString FRREntityModelData::BaseLinkName

◆ bHasWorldJoint

bool FRREntityModelData::bHasWorldJoint = false

◆ ChildModelsData

TArray<FRREntityModelData> FRREntityModelData::ChildModelsData

Struct recursion is NOT yet supported for UPROPERTY.

◆ CreatedInstancesNum

int32 FRREntityModelData::CreatedInstancesNum = 0

◆ DescriptionFilePath

FString FRREntityModelData::DescriptionFilePath

Robot Model Description File (URDF/SDF)

UPROPERTY(VisibleAnywhere)

◆ EndEffectorNames

TArray<FString> FRREntityModelData::EndEffectorNames

◆ JointPropList

TArray<FRRRobotJointProperty> FRREntityModelData::JointPropList

◆ LinkPropList

TArray<FRRRobotLinkProperty> FRREntityModelData::LinkPropList

◆ ModelDescType

ERREntityDescriptionType FRREntityModelData::ModelDescType = ERREntityDescriptionType::NONE

Robot Model Description Type (URDF/SDF)

UPROPERTY(EditAnywhere)

◆ ModelNameList

TArray<FString> FRREntityModelData::ModelNameList

World model: [ModelNameList] >= 1.

Pure model: [ModelNameList] == 1 if Single else > 1

UPROPERTY(EditAnywhere)

◆ ParentFrameName

FString FRREntityModelData::ParentFrameName

◆ RelativeTransform

FTransform FRREntityModelData::RelativeTransform = FTransform::Identity

◆ TotalSize

FVector FRREntityModelData::TotalSize = FVector::ZeroVector

Meshes are async loaded, & so their sizes.

UPROPERTY(VisibleAnywhere)

◆ UEComponentTypeFlags

int32 FRREntityModelData::UEComponentTypeFlags = 0

UE Component types.

UPROPERTY(EditAnywhere)

◆ WheelPropList

TArray<FRRRobotWheelProperty> FRREntityModelData::WheelPropList

◆ WholeBodyMaterialInfo

FRRMaterialProperty FRREntityModelData::WholeBodyMaterialInfo

◆ WholeBodyStaticMeshName

FString FRREntityModelData::WholeBodyStaticMeshName

◆ WorldName

FString FRREntityModelData::WorldName

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