Navigation
API > API/Plugins > API/Plugins/PoseSearch
| Name | FSearchContext |
| Type | struct |
| Header File | /Engine/Plugins/Animation/PoseSearch/Source/Runtime/Public/PoseSearch/PoseSearchContext.h |
| Include Path | #include "PoseSearch/PoseSearchContext.h" |
Syntax
struct FSearchContext
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSearchContext
(
float InDesiredPermutationTimeOffset, |
PoseSearch/PoseSearchContext.h | ||
FSearchContext
(
float InDesiredPermutationTimeOffset, |
PoseSearch/PoseSearchContext.h | ||
FSearchContext
(
float InDesiredPermutationTimeOffset, |
PoseSearch/PoseSearchContext.h | ||
FSearchContext
(
FSearchContext&& Other |
PoseSearch/PoseSearchContext.h | ||
FSearchContext
(
const FSearchContext& Other |
Deleting copies and moves since members could reference other members (e.g.: ContinuingPoseValues could point to ContinuingPoseValuesData, so it'll require proper copies and movers implementations) | PoseSearch/PoseSearchContext.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AnimContexts | TArray< FChooserEvaluationContext *, TInlineAllocator< PreallocatedRolesNum, TMemStackAllocator<> > > | PoseSearch/PoseSearchContext.h | ||
| AssetsToConsider | const FStackAssetSet * | If AssetsToConsider is not empty, we'll search only for poses from UObject(s) that are in the AssetsToConsider | PoseSearch/PoseSearchContext.h | |
| bAsyncBuildIndexInProgress | bool | PoseSearch/PoseSearchContext.h | ||
| bIsContinuingInteraction | bool | PoseSearch/PoseSearchContext.h | ||
| bUseCachedChannelData | bool | PoseSearch/PoseSearchContext.h | ||
| CachedChannels | TMap< uint32, FCachedChannel, TInlineSetAllocator< PreallocatedCachedChannelDataNum, TMemStackSetAllocator<> > > | Mapping channel unique identifier (hash) to FCachedChannel | PoseSearch/PoseSearchContext.h | |
| CachedPCAQueries | TArray< FCachedPCAQuery, TInlineAllocator< PreallocatedCachedQueriesNum, TMemStackAllocator<> > > | PoseSearch/PoseSearchContext.h | ||
| CachedQueries | TArray< FCachedQuery, TInlineAllocator< PreallocatedCachedQueriesNum, TMemStackAllocator<> > > | PoseSearch/PoseSearchContext.h | ||
| CachedTransforms | TMap< uint32, FTransform, TInlineSetAllocator< 64, TMemStackSetAllocator<> > > | Transforms cached in world space | PoseSearch/PoseSearchContext.h | |
| ContinuingPoseSearchResult | FSearchResult | Search result used to extract the continuing pose properties, except for gathering the continuing pose values, where we use ContinuingPoseValuesDatabasePoseIdx. | PoseSearch/PoseSearchContext.h | |
| ContinuingPoseValues | TConstArrayView< float > | If ContinuingPoseValuesDatabasePoseIdx is valid, this array view references the continuing pose values (feature vector data) | PoseSearch/PoseSearchContext.h | |
| ContinuingPoseValuesData | TStackAlignedArray< float > | Buffer optionally used in case the continuing pose needed to be reconstructed. ContinuingPoseValues will reference it | PoseSearch/PoseSearchContext.h | |
| ContinuingPoseValuesDatabasePoseIdx | FDatabasePoseIdx | Database - pose index pair used to extract the continuing pose vector properties (values) the reason it can differ from the ContinuingPoseSearchResult (database - pose index pair) is because we build and cache a query only using a schema, NOT a database (for performance reasons), BUT we want to be able to calculate the continuing pose from different databases sharing the same animation assets AND same schema, and evaluate the continuing pose feature data across both of them. | PoseSearch/PoseSearchContext.h | |
| DesiredPermutationTimeOffset | const float | PoseSearch/PoseSearchContext.h | ||
| EventToSearch | const FPoseSearchEvent | PoseSearch/PoseSearchContext.h | ||
| PoseHistories | TArray< const IPoseHistory *, TInlineAllocator< PreallocatedRolesNum, TMemStackAllocator<> > > | PoseSearch/PoseSearchContext.h | ||
| PoseJumpThresholdTime | const FFloatInterval | PoseSearch/PoseSearchContext.h | ||
| RoleToIndex | FRoleToIndex | PoseSearch/PoseSearchContext.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddNewFeatureVectorBuilder
(
const UPoseSearchSchema* Schema |
PoseSearch/PoseSearchContext.h | ||
void AddRole
(
const FRole& Role, |
PoseSearch/PoseSearchContext.h | ||
bool AnyCachedQuery() |
PoseSearch/PoseSearchContext.h | ||
bool ArePoseHistoriesValid() |
PoseSearch/PoseSearchContext.h | ||
bool CanUseContinuingPoseValues() |
PoseSearch/PoseSearchContext.h | ||
bool CanUseCurrentResult() |
PoseSearch/PoseSearchContext.h | ||
TArrayView< float > EditFeatureVector() |
PoseSearch/PoseSearchContext.h | ||
const UObject * GetAnimContext
(
const FRole& Role |
PoseSearch/PoseSearchContext.h | ||
const TArray< const UAnimInstance *, TInlineAllocator< PreallocatedRolesNum, TMemStackAllocator<> > > GetAnimContexts() |
PoseSearch/PoseSearchContext.h | ||
const UAnimInstance * GetAnimInstance
(
const FRole& Role |
PoseSearch/PoseSearchContext.h | ||
const TArray< const UAnimInstance *, TInlineAllocator< PreallocatedRolesNum, TMemStackAllocator<> > > GetAnimInstances() |
PoseSearch/PoseSearchContext.h | ||
TConstArrayView< const UObject * > GetAssetsToConsider() |
PoseSearch/PoseSearchContext.h | ||
const FStackAssetSet * GetAssetsToConsiderSet() |
PoseSearch/PoseSearchContext.h | ||
const UPoseSearchFeatureChannel * GetCachedChannelData
(
uint32 ChannelUniqueIdentifier, |
PoseSearch/PoseSearchContext.h | ||
TConstArrayView< float > GetCachedQuery
(
const UPoseSearchSchema* Schema |
PoseSearch/PoseSearchContext.h | ||
const FChooserEvaluationContext * GetContext
(
const FRole& Role |
PoseSearch/PoseSearchContext.h | ||
FChooserEvaluationContext * GetContext
(
const FRole& Role |
PoseSearch/PoseSearchContext.h | ||
TArrayView< FChooserEvaluationContext * > GetContexts() |
PoseSearch/PoseSearchContext.h | ||
const FSearchResult & GetContinuingPoseSearchResult() |
PoseSearch/PoseSearchContext.h | ||
TConstArrayView< float > GetContinuingPoseValues() |
PoseSearch/PoseSearchContext.h | ||
float GetCurrentBestTotalCost() |
PoseSearch/PoseSearchContext.h | ||
const FSearchResult & GetCurrentResult() |
PoseSearch/PoseSearchContext.h | ||
TConstArrayView< float > GetCurrentResultPoseVector() |
PoseSearch/PoseSearchContext.h | ||
float GetDesiredPermutationTimeOffset() |
PoseSearch/PoseSearchContext.h | ||
const FPoseSearchEvent & GetEventToSearch() |
Experimental, this feature might be removed without warning, not for production use. | PoseSearch/PoseSearchContext.h | |
| PoseSearch/PoseSearchContext.h | |||
TConstArrayView< float > GetOrBuildPCAQuery
(
const UPoseSearchDatabase* Database |
Experimental, this feature might be removed without warning, not for production use. | PoseSearch/PoseSearchContext.h | |
TConstArrayView< float > GetOrBuildQuery
(
const UPoseSearchSchema* Schema |
PoseSearch/PoseSearchContext.h | ||
TConstArrayView< const IPoseHistory * > GetPoseHistories() |
PoseSearch/PoseSearchContext.h | ||
const IPoseHistory * GetPoseHistory
(
const FRole& Role |
PoseSearch/PoseSearchContext.h | ||
const FPoseIndicesHistory * GetPoseIndicesHistory() |
PoseSearch/PoseSearchContext.h | ||
const FFloatInterval & GetPoseJumpThresholdTime() |
PoseSearch/PoseSearchContext.h | ||
const FRoleToIndex & GetRoleToIndex() |
PoseSearch/PoseSearchContext.h | ||
float GetSampleCurveValue
(
float SampleTimeOffset, |
Returns the curve value of name CurveName at an offset time of SampleTimeOffset. | PoseSearch/PoseSearchContext.h | |
FVector GetSamplePosition
(
float SampleTimeOffset, |
Returns the displacement of the bone with index Schema.BoneReferences[SchemaSampleBoneIdx] at an offset time of SampleTimeOffset relative to the position of the bone with index Schema.BoneReferences[SchemaOriginBoneIdx] at an offset time of OriginTimeOffset in root bone space Times will be processed by GetPermutationTimeOffsets(PermutationTimeType, ...) | PoseSearch/PoseSearchContext.h | |
FQuat GetSampleRotation
(
float SampleTimeOffset, |
Returns the rotation of the bone with index Schema.BoneReferences[SchemaSampleBoneIdx] at an offset time of SampleTimeOffset relative to the transform of the bone with index Schema.BoneReferences[SchemaOriginBoneIdx] at an offset time of time OriginTimeOffset Times will be processed by GetPermutationTimeOffsets(PermutationTimeType, ...) | PoseSearch/PoseSearchContext.h | |
FVector GetSampleVelocity
(
float SampleTimeOffset, |
Returns the delta velocity of the velocity of the bone with index Schema.BoneReferences[SchemaSampleBoneIdx] at an offset time of SampleTimeOffset minus the velocity of the bone with index Schema.BoneReferences[SchemaOriginBoneIdx] at an offset time of OriginTimeOffset Times will be processed by GetPermutationTimeOffsets(PermutationTimeType, ...) if bUseCharacterSpaceVelocities is true, velocities will be computed in root bone space, rather than world space | PoseSearch/PoseSearchContext.h | |
FTransform GetWorldBoneTransformAtTime
(
float SampleTime, |
Returns the world space transform of the bone SchemaBoneIdx at time SampleTime | PoseSearch/PoseSearchContext.h | |
bool IsAsyncBuildIndexInProgress() |
PoseSearch/PoseSearchContext.h | ||
bool IsContinuingInteraction() |
Experimental, this feature might be removed without warning, not for production use. | PoseSearch/PoseSearchContext.h | |
bool IsContinuingPoseDatabase
(
const UPoseSearchDatabase* Database |
PoseSearch/PoseSearchContext.h | ||
bool IsCurrentResultFromDatabase
(
const UPoseSearchDatabase* Database |
PoseSearch/PoseSearchContext.h | ||
bool IsUseCachedChannelData() |
PoseSearch/PoseSearchContext.h | ||
void ResetAsyncBuildIndexInProgress() |
PoseSearch/PoseSearchContext.h | ||
void ResetCurrentBestCost() |
PoseSearch/PoseSearchContext.h | ||
void SetAssetsToConsider
(
TConstArrayView< const UObject* > InAssetsToConsider |
PoseSearch/PoseSearchContext.h | ||
void SetAssetsToConsiderSet
(
const FStackAssetSet* InAssetsToConsider |
PoseSearch/PoseSearchContext.h | ||
void SetAsyncBuildIndexInProgress() |
PoseSearch/PoseSearchContext.h | ||
| PoseSearch/PoseSearchContext.h | |||
void SetIsContinuingInteraction
(
bool bInIsContinuingInteraction |
Experimental, this feature might be removed without warning, not for production use. | PoseSearch/PoseSearchContext.h | |
void SetUseCachedChannelData
(
bool bInUseCachedChannelData |
PoseSearch/PoseSearchContext.h | ||
void UpdateContinuingPoseSearchResult
(
const FSearchResult& InContinuingPoseSearchResult, |
PoseSearch/PoseSearchContext.h | ||
void UpdateCurrentBestCost
(
const FPoseSearchCost& PoseSearchCost |
PoseSearch/PoseSearchContext.h | ||
void UpdateCurrentResultPoseVector() |
PoseSearch/PoseSearchContext.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSearchContext & operator=
(
const FSearchContext& Other |
PoseSearch/PoseSearchContext.h | ||
FSearchContext & operator=
(
FSearchContext&& Other |
PoseSearch/PoseSearchContext.h |