You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/Vegetation/Code/Source/Components
Mike Balfour d9ba0af645
SurfacePoint data structure encapsulations (#7413)
* First pass at encapsulating SurfacePointList.
The biggest challenge in optimizing SurfacePointList(s) usage is the overall memory management associated with it. There are M surface points with N surface mask entries created for every input point, which leads to a lot of container reallocation and memory shuffling when processing multiple input points. By encapsulating the list, it should become easier to preallocate the entries, as well as keep "helper data" around for managing the bookkeeping to associate the input points with the output points.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Small fixes and TODO reminders.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Encapsulate surface point creation and separate EnumeratePoints out from modifications.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Start removing SurfacePoint from the exposed API.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Changed SurfacePointList to split out the surface point storage to allow for span<> usage over time.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Removed entity id

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Removed SurfacePoint from SurfaceData, changed all remaining uses to AzFramework::SurfaceData::SurfacePoint.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Encapsulated SurfaceTagWeightMap and renamed to SurfaceTagWeights.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Fixed make file.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Better commenting and parameter naming.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>

* Renamed methods to be more descriptive.

Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
4 years ago
..
AreaBlenderComponent.cpp Unit tests and benchmarks for GetValues() (#6823) 4 years ago
AreaBlenderComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
AreaComponentBase.cpp Deprecate profiler categories based on global enum 4 years ago
BlockerComponent.cpp more fixes for Gems 4 years ago
BlockerComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
DescriptorListCombinerComponent.cpp Deprecate profiler categories based on global enum 4 years ago
DescriptorListCombinerComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
DescriptorListComponent.cpp Cleanup SerializeContext.h pt.1 (#4264) 4 years ago
DescriptorListComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
DescriptorWeightSelectorComponent.cpp Deprecate profiler categories based on global enum 4 years ago
DescriptorWeightSelectorComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
DistanceBetweenFilterComponent.cpp Deprecate profiler categories based on global enum 4 years ago
DistanceBetweenFilterComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
DistributionFilterComponent.cpp Deprecate profiler categories based on global enum 4 years ago
DistributionFilterComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
LevelSettingsComponent.cpp Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
LevelSettingsComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
MeshBlockerComponent.cpp Cleanup SerializeContext.h pt.1 (#4264) 4 years ago
MeshBlockerComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
PositionModifierComponent.cpp SurfacePoint data structure encapsulations (#7413) 4 years ago
PositionModifierComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
RotationModifierComponent.cpp Deprecate profiler categories based on global enum 4 years ago
RotationModifierComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
ScaleModifierComponent.cpp Deprecate profiler categories based on global enum 4 years ago
ScaleModifierComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
ShapeIntersectionFilterComponent.cpp Deprecate profiler categories based on global enum 4 years ago
ShapeIntersectionFilterComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
SlopeAlignmentModifierComponent.cpp Deprecate profiler categories based on global enum 4 years ago
SlopeAlignmentModifierComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
SpawnerComponent.cpp SurfacePoint data structure encapsulations (#7413) 4 years ago
SpawnerComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
SurfaceAltitudeFilterComponent.cpp Deprecate profiler categories based on global enum 4 years ago
SurfaceAltitudeFilterComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
SurfaceMaskDepthFilterComponent.cpp SurfacePoint data structure encapsulations (#7413) 4 years ago
SurfaceMaskDepthFilterComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
SurfaceMaskFilterComponent.cpp SurfacePoint data structure encapsulations (#7413) 4 years ago
SurfaceMaskFilterComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
SurfaceSlopeFilterComponent.cpp Deprecate profiler categories based on global enum 4 years ago
SurfaceSlopeFilterComponent.h Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago