* Adding partial implementation of C++20 concepts and range functions for AZStd::span
The new concepts to discovered existing issues with the PathIterator and deque::iterator classes
PathIterator wasn't properly an input_iterator and therefore the Path classes weren't a range due to an incorrect const_iterator alias
The deque::iterator classes was missing the operator+ friend function that accepted a (ptrdiff_t, deque::iterator) to fulfill the random_access_iterator concepts
The AZStd implementations of (uninitialized_)copy(_n), (uninitialized_)move(_n) and (uninitialized_)file(_n) have been optimized to use memcpy and memset based on fulfilling the contiguous_iterator concept
Fixed invalid AZStd::vector inserts in FrameGraphExecuter.cpp and SliceditorEntityOwnershipService.cpp
The code was trying to copy the underlying addresses for vector<unique_ptr> to a vector<raw pointer> using insert, which it was doing by using memcpy.
relates to #6749
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed the `fixed_vector` emplace function to not move initialized
elements using uninitialized_move.
This was causing initialized elements of the fixed_vector to be
overwritten with the element at the emplace position.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed clang warnings about variables that are set, but never read
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the `az_has_builtin_is_constant_evaluated` define to not have
"()" as is not a macro.
This helps prevent users from using `az_has_builtin_is_constant_evaluated`
define in a situation where they want to know if the function is being
evaluated in a compile time context.
In that case they need to use the `az_builtin_is_constant_evaluated()`
macro (which of course looks quite similiar) but does not have the word
"has" in it..
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the AZStd span class to be C++20 compliant.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Changed phrase "DoesNotCompiles" to be more grammatically correct.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added more unit test for AZStd span
Fixed an the the return type of the subspan template overload to account
for the source span having a dynamic extent.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed unused variable from span unit test.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixes to the viewport top toolbar.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Additional checks to prevent issues if widgets aren't set up correctly.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add asserts to catch UI changes that would break this class.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Add a ray cast API to the terrain system, implement it, and use it so entities can be placed on top of terrain.
Still to do:
- Unit tests
- Profiling/benchmarks
- Optimization (if needed, may not be now after updating to use the iterative approach, but one option could be to use SIMD to ray cast against both triangles at once)
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Fix typos.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Added a FindNearestIntersectionIterative to use in place of the first-pass FindnearestIntersectionRecursive attempt.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove some functions that are no longer being used.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove a unicode character from a comment to fix the validation build.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Remove another unicode character from a comment to fix the validation build.
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Update to bail out as soon as t > 1.0f
Signed-off-by: bosnichd <bosnichd@amazon.com>
* Ensure to fire OnEditorEntityCreated notification in SandboxIntegrationManager::CreateNewEntityAtPosition
Signed-off-by: chiyenteng <82238204+chiyenteng@users.noreply.github.com>
* Ensure to fire OnEditorEntityCreated notification in SandboxIntegrationManager::CreateNewEntityAtPosition
Signed-off-by: chiyenteng <82238204+chiyenteng@users.noreply.github.com>
* convert test AreaNodes_DependentComponentsAdded to use prefab system
Signed-off-by: chiyenteng <82238204+chiyenteng@users.noreply.github.com>
* Prevent SetupEditorEntity being called twice
Signed-off-by: chiyenteng <82238204+chiyenteng@users.noreply.github.com>
* Refactor the sanitation of the selection for prefab operations to prevent read-only entities from being deleted or duplicated.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
* Fix comment.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com>
Updates and fixes to support GCC for Linux
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Consolidated duplicate asset browser code from multiple tools into single class in atom tools framework
Moved creation of asset browser and Python terminal windows into base main window class
Fixed docked window orientations
Added checks to asset browser to prevent crashes if tree state saver was null
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
PrefabCatchmentProcessor::ProcessPrefab was no longer updating the ProcessedObjectStore's referenced object list, this change exposes the referenced asset list in the new PrefabDocument API and uses them to update the referenced asset list.
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
* Avoid undoing twice when undo is hit for CreateNewEditorEntity
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Moved an assert immediately after entity creation
Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
* Spinboxes now correct when rounding.
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Changes from PR
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* Fixed tests after change to rounding in spinbox
Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
* bugfix: correct mouseMove under AzToolsFrameworkHelper
REF: https://github.com/o3de/o3de/issues/6481
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* chore: added unit test
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* chore: address comments
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* chore: correct fixture
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* chore: tweak mouse move logic
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* updates to track mouse/cursor position via events instead of using QCursor::pos()
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
* rename AzToolFrameworkTestHelperTest.cpp to AzToolsFrameworkTestHelpersTest.cpp
Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
Co-authored-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
When a PrefabDOM was taken from a PrefabDocument the Instance would continue to have the data from the original Prefab, which means they'd no longer be in sync as the Prefab would be empty. This was fixed by resetting the Instance so they're both clear.
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>