载入中...
搜索中...
未找到
PointSetAttributeOps.cpp 文件参考
#include "procgen/PointSet.h"
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <limits>
#include <string_view>
#include <unordered_map>

浏览源代码.

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::procgen
 

函数

bool eve::procgen::isPointFloatSelector (std::string_view name) noexcept
 True when point float selector.
 
bool eve::procgen::isPointFloatChannel (std::string_view name) noexcept
 Return whether name is a valid float channel (builtin selector or metadata name).
 
EVENGINE_API_DOMAINS Result< float > eve::procgen::readPointFloatChannel (const PointSet &points, int index, std::string_view name, float defaultValue)
 Read a float metadata column or closed $ point-field selector.
 
Result< void > eve::procgen::writePointFloatChannel (PointSet &points, int index, std::string_view name, float value)
 Write a float metadata column or closed $ point-field selector.
 
PointSet eve::procgen::mathPointFloatAttribute (const PointSet &input, const std::string &attribute, const std::string &outputAttribute, const std::string &operation, float operand, float defaultValue)
 Apply one scalar operation to a float metadata attribute or $ selector.
 
EVENGINE_API_DOMAINS PointSet eve::procgen::filterPointFloatAttribute (const PointSet &input, const std::string &name, float minValue, float maxValue, bool invert)
 Select points whose named float attribute or $ selector lies in an inclusive range.
 
PointSet eve::procgen::filterPointIntAttribute (const PointSet &input, const std::string &name, std::int64_t minValue, std::int64_t maxValue, bool invert)
 Select points whose named int attribute lies in an inclusive range.
 
PointSet eve::procgen::filterPointBoolAttribute (const PointSet &input, const std::string &name, bool value, bool invert)
 Select points whose named bool attribute equals a value.
 
Result< PointSet > eve::procgen::copyPointAttribute (const PointSet &input, const std::string &source, const std::string &target)
 Copy one float channel or typed metadata column onto another name.
 
Result< PointSet > eve::procgen::renamePointAttribute (const PointSet &input, const std::string &from, const std::string &to)
 Rename one metadata column.
 
Result< PointSet > eve::procgen::deletePointAttribute (const PointSet &input, const std::string &name)
 Delete one metadata column.
 
Result< PointSet > eve::procgen::transferPointAttribute (const PointSet &target, const PointSet &source, const std::string &attribute, const std::string &outputAttribute, const std::string &mode)
 Transfer one attribute from source onto target points.
 
PointSet eve::procgen::setPointIntAttribute (const PointSet &input, const std::string &attribute, std::int64_t value)
 Write a constant int metadata column on every point.
 
PointSet eve::procgen::setPointBoolAttribute (const PointSet &input, const std::string &attribute, bool value)
 Write a constant bool metadata column on every point.
 
PointSet eve::procgen::setPointVectorAttribute (const PointSet &input, const std::string &attribute, float x, float y, float z)
 Write a constant vector metadata column on every point.
 
Result< PointSet > eve::procgen::comparePointFloatAttribute (const PointSet &input, const std::string &attribute, const std::string &comparison, float operand, const std::string &outputAttribute, float defaultValue)
 Compare a float channel against an operand and write a bool metadata column.
 
Result< PointSet > eve::procgen::selectPointFloatAttribute (const PointSet &input, const std::string &conditionAttribute, const std::string &trueAttribute, const std::string &falseAttribute, const std::string &outputAttribute, float trueDefault, float falseDefault)
 Select between two float channels using a bool metadata condition.
 
void eve::procgen::ensurePointSetDataRow (PointSet &points)
 Return whether name is a known $-prefixed float point-field selector.
 
EVENGINE_API_DOMAINS Result< void > eve::procgen::setPointDataFloatAttribute (PointSet &points, const std::string &attribute, float value)
 Write a float into the PointSet @Data domain.
 
Result< void > eve::procgen::setPointDataIntAttribute (PointSet &points, const std::string &attribute, std::int64_t value)
 Write an int into the PointSet @Data domain.
 
Result< void > eve::procgen::setPointDataStringAttribute (PointSet &points, const std::string &attribute, const std::string &value)
 Write a string into the PointSet @Data domain.
 
EVENGINE_API_DOMAINS PointSet eve::procgen::partitionPointAttribute (const PointSet &input, const std::string &attribute, const std::string &outputAttribute, const std::string &mode)
 Assign partition indices from a string/int attribute (mode: value|hash).
 
EVENGINE_API_DOMAINS PointSet eve::procgen::noisePointFloatAttribute (const PointSet &input, const std::string &attribute, uint32_t seed, float frequency, float amplitude, float offset)
 Write deterministic float noise into a metadata attribute.
 
PointSet eve::procgen::mathPointIntAttribute (const PointSet &input, const std::string &attribute, const std::string &outputAttribute, const std::string &operation, std::int64_t operand, std::int64_t defaultValue)
 Apply integer math to an int metadata column.
 
PointSet eve::procgen::mathPointVectorAttribute (const PointSet &input, const std::string &attribute, const std::string &outputAttribute, const std::string &operation, float operandX, float operandY, float operandZ, float defaultX, float defaultY, float defaultZ)
 Apply vector math to a vector metadata column.