@@ -915,6 +915,56 @@ private void TransformTarget()
915915 // transformUpdated = elasticsManager.ApplyTargetTransform(constraintTranslate, TransformFlags.Move);
916916 // }
917917
918+ if ( ! transformUpdated . IsMaskSet ( TransformFlags . Move ) )
919+ {
920+ Target . transform . position = smoothingActive ?
921+ Smoothing . SmoothTo ( Target . transform . position , constraintTranslate . Position , translateLerpTime , Time . deltaTime ) :
922+ constraintTranslate . Position ;
923+ }
924+ }
925+ else if ( currentHandle . HandleType == HandleType . Translation2D )
926+ {
927+ Vector3 translateVectorOnPlane = Vector3 . ProjectOnPlane ( currentGrabPoint - initialGrabPoint , currentHandle . transform . forward ) ;
928+
929+ var goal = initialTransformOnGrabStart . Position + translateVectorOnPlane ;
930+ MixedRealityTransform constraintTranslate = MixedRealityTransform . NewTranslate ( goal ) ;
931+ if ( EnableConstraints && constraintsManager != null )
932+ {
933+ constraintsManager . ApplyTranslationConstraints ( ref constraintTranslate , true , currentHandle . IsGrabSelected ) ;
934+ }
935+
936+ // TODO: Elastics integration (soon!)
937+
938+ // if (elasticsManager != null)
939+ // {
940+ // transformUpdated = elasticsManager.ApplyTargetTransform(constraintTranslate, TransformFlags.Move);
941+ // }
942+
943+ if ( ! transformUpdated . IsMaskSet ( TransformFlags . Move ) )
944+ {
945+ Target . transform . position = smoothingActive ?
946+ Smoothing . SmoothTo ( Target . transform . position , constraintTranslate . Position , translateLerpTime , Time . deltaTime ) :
947+ constraintTranslate . Position ;
948+ }
949+ }
950+ else if ( currentHandle . HandleType == HandleType . Translation3D )
951+ {
952+ Vector3 translateVector = currentGrabPoint - initialGrabPoint ;
953+
954+ var goal = initialTransformOnGrabStart . Position + translateVector ;
955+ MixedRealityTransform constraintTranslate = MixedRealityTransform . NewTranslate ( goal ) ;
956+ if ( EnableConstraints && constraintsManager != null )
957+ {
958+ constraintsManager . ApplyTranslationConstraints ( ref constraintTranslate , true , currentHandle . IsGrabSelected ) ;
959+ }
960+
961+ // TODO: Elastics integration (soon!)
962+
963+ // if (elasticsManager != null)
964+ // {
965+ // transformUpdated = elasticsManager.ApplyTargetTransform(constraintTranslate, TransformFlags.Move);
966+ // }
967+
918968 if ( ! transformUpdated . IsMaskSet ( TransformFlags . Move ) )
919969 {
920970 Target . transform . position = smoothingActive ?
0 commit comments