HighMap library (C++)
Loading...
Searching...
No Matches
cloud.hpp File Reference

Definition of the Cloud class for manipulating sets of 2D points. More...

Go to the source code of this file.

Classes

class  hmap::Cloud
 Represents a collection of unordered points in 2D space. More...
 

Namespaces

namespace  hmap
 

Functions

Cloud hmap::merge_cloud (const Cloud &cloud1, const Cloud &cloud2)
 Merges two point clouds into one.
 
Cloud hmap::random_cloud (size_t count, uint seed, const PointSamplingMethod &method=PointSamplingMethod::RND_LHS, const Vec4< float > &bbox={0.f, 1.f, 0.f, 1.f})
 Generates a random cloud of points within a bounding box.
 
Cloud hmap::random_cloud_density (size_t count, const Array &density, uint seed, const Vec4< float > &bbox={0.f, 1.f, 0.f, 1.f})
 Generates a random cloud of points based on a spatial density map.
 
Cloud hmap::random_cloud_distance (float min_dist, uint seed, const Vec4< float > &bbox={0.f, 1.f, 0.f, 1.f})
 Generates a random cloud of points separated by at least a given minimum distance.
 
Cloud hmap::random_cloud_distance (float min_dist, float max_dist, const Array &density, uint seed, const Vec4< float > &bbox={0.f, 1.f, 0.f, 1.f})
 Generates a random cloud of points separated by a distance range, influenced by a density map.
 
Cloud hmap::random_cloud_distance_power_law (float dist_min, float dist_max, float alpha, uint seed, const Vec4< float > &bbox={0.f, 1.f, 0.f, 1.f})
 Generates a random cloud of points with distances drawn from a power-law distribution.
 
Cloud hmap::random_cloud_distance_weibull (float dist_min, float lambda, float k, uint seed, const Vec4< float > &bbox={0.f, 1.f, 0.f, 1.f})
 Generates a random cloud of points with distances drawn from a Weibull distribution.
 
Cloud hmap::random_cloud_jittered (size_t count, const Vec2< float > &jitter_amount, const Vec2< float > &stagger_ratio, uint seed, const Vec4< float > &bbox={0.f, 1.f, 0.f, 1.f})
 Generates a jittered grid cloud of points.
 

Detailed Description

Definition of the Cloud class for manipulating sets of 2D points.

Author
Otto Link (otto..nosp@m.link.nosp@m..bv@g.nosp@m.mail.nosp@m..com)

This file contains the definition of the Cloud class, which is used to manage and manipulate unordered sets of points in a 2D space. The Cloud class provides functionalities for creating clouds of points, including random generation, value assignment, and data export. It also supports operations such as computing bounding boxes, distances, and interpolating values from arrays.

The class includes methods for adding and removing points, randomizing positions and values, remapping values, and exporting data to CSV files. Additional functionalities include calculating Signed Distance Functions (SDF) and projecting point clouds onto arrays.

Version
0.1 Initial version.
Date
2023-06-18

This software is distributed under the terms of the GNU General Public License. The full license is available in the LICENSE file distributed with this software.