Merge branch 'SnapToGrid' of https://github.com/NoriteSC/FlaxEngineFork into NoriteSC-SnapToGrid
This commit is contained in:
@@ -1273,6 +1273,33 @@ namespace FlaxEngine
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// funcion for grid snaping snap to absolute world grid
|
||||
/// <br>desined for snaping using a ray / draging object</br>
|
||||
/// </summary>
|
||||
/// <param name="Translation"></param>
|
||||
/// <param name="GridSize"></param>
|
||||
/// <returns>out = Ceil(((A - (GridSize * 0.5f)) / GridSize) * GridSize</returns>
|
||||
public static Float2 SnapToGrid(Float2 translation, Float2 gridSize)
|
||||
{
|
||||
translation.X = Mathf.Ceil((translation.X - (gridSize.X * 0.5f)) / gridSize.Y) * gridSize.X;
|
||||
translation.Y = Mathf.Ceil((translation.Y - (gridSize.Y * 0.5f)) / gridSize.X) * gridSize.Y;
|
||||
return translation;
|
||||
}
|
||||
/// <summary>
|
||||
/// funcion for grid snaping snap to absolute world grid
|
||||
/// <br>desined for snaping using a ray / draging object</br>
|
||||
/// </summary>
|
||||
/// <param name="Translation"></param>
|
||||
/// <param name="GridSize"></param>
|
||||
/// <returns>out = Ceil(((A - (GridSize * 0.5f)) / GridSize) * GridSize</returns>
|
||||
public static Float2 SnapToGrid(Float2 translation, float gridSize)
|
||||
{
|
||||
translation.X = Mathf.Ceil((translation.X - (gridSize * 0.5f)) / gridSize) * gridSize;
|
||||
translation.Y = Mathf.Ceil((translation.Y - (gridSize * 0.5f)) / gridSize) * gridSize;
|
||||
return translation;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds two vectors.
|
||||
/// </summary>
|
||||
|
||||
@@ -1671,6 +1671,35 @@ namespace FlaxEngine
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// funcion for grid snaping snap to absolute world grid
|
||||
/// <br>desined for snaping using a ray / draging object</br>
|
||||
/// </summary>
|
||||
/// <param name="Translation"></param>
|
||||
/// <param name="GridSize"></param>
|
||||
/// <returns>out = Ceil(((A - (GridSize * 0.5f)) / GridSize) * GridSize</returns>
|
||||
public static Vector3 SnapToGrid(Vector3 translation, float gridSize)
|
||||
{
|
||||
translation.X = Mathr.Ceil((translation.X - (gridSize * 0.5f)) / gridSize) * gridSize;
|
||||
translation.Y = Mathr.Ceil((translation.Y - (gridSize * 0.5f)) / gridSize) * gridSize;
|
||||
translation.Z = Mathr.Ceil((translation.Z - (gridSize * 0.5f)) / gridSize) * gridSize;
|
||||
return translation;
|
||||
}
|
||||
/// <summary>
|
||||
/// funcion for grid snaping snap to absolute world grid
|
||||
/// <br>desined for snaping using a ray / draging object</br>
|
||||
/// </summary>
|
||||
/// <param name="Translation"></param>
|
||||
/// <param name="GridSize"></param>
|
||||
/// <returns>out = Ceil(((A - (GridSize * 0.5f)) / GridSize) * GridSize</returns>
|
||||
public static Vector3 SnapToGrid(Vector3 translation, Float3 gridSize)
|
||||
{
|
||||
translation.X = Mathr.Ceil((translation.X - (gridSize.X * 0.5f)) / gridSize.X) * gridSize.X;
|
||||
translation.Y = Mathr.Ceil((translation.Y - (gridSize.Y * 0.5f)) / gridSize.Y) * gridSize.Y;
|
||||
translation.Z = Mathr.Ceil((translation.Z - (gridSize.Z * 0.5f)) / gridSize.Z) * gridSize.Z;
|
||||
return translation;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds two vectors.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user