Example #1
0
void UBlendSpace::SnapToBorder(FBlendSample& Sample) const
{
	FVector& SampleValue = Sample.SampleValue;

	FVector2D Threshold = CalculateThreshold();
	FVector GridMin(BlendParameters[0].Min, BlendParameters[1].Min, 0.f);
	FVector GridMax(BlendParameters[0].Max, BlendParameters[1].Max, 0.f);

	if (SampleValue.X != GridMax.X && SampleValue.X+Threshold.X > GridMax.X)
	{
		SampleValue.X = GridMax.X;
	}
	if (SampleValue.X != GridMin.X && SampleValue.X-Threshold.X < GridMin.X)
	{
		SampleValue.X = GridMin.X;
	}

	if (SampleValue.Y != GridMax.Y && SampleValue.Y+Threshold.Y > GridMax.Y)
	{
		SampleValue.Y = GridMax.Y;
	}
	if (SampleValue.Y != GridMin.Y && SampleValue.Y-Threshold.Y < GridMin.Y)
	{
		SampleValue.Y = GridMin.Y;
	}
}
void UBlendSpace1D::SnapToBorder(FBlendSample& Sample) const
{
	FVector& SampleValue = Sample.SampleValue;

	const float Threshold = CalculateThreshold();
	const float GridMin = BlendParameters[0].Min;
	const float GridMax = BlendParameters[0].Max;

	if (SampleValue.X != GridMax && SampleValue.X+Threshold > GridMax)
	{
		SampleValue.X = GridMax;
	}
	if (SampleValue.X != GridMin && SampleValue.X-Threshold < GridMin)
	{
		SampleValue.X = GridMin;
	}
}
Example #3
0
bool UBlendSpace::IsSameSamplePoint(const FVector& SamplePointA, const FVector& SamplePointB) const
{
	FVector2D Threshold = CalculateThreshold();
	FVector Diff = (SamplePointA-SamplePointB).GetAbs();
	return (Diff.X < Threshold.X) && (Diff.Y < Threshold.Y);
}
bool UBlendSpace1D::IsSameSamplePoint(const FVector& SamplePointA, const FVector& SamplePointB) const
{
	const float Threshold = CalculateThreshold();
	const FVector Diff = (SamplePointA-SamplePointB).GetAbs();
	return (Diff.X < Threshold);
}