PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
Indexing.h File Reference
#include "Concepts.h"
#include "Eigen.h"
#include "pbat/Aliases.h"
#include <concepts>
#include <numeric>
#include <random>
#include <ranges>

Go to the source code of this file.

Namespaces

namespace  pbat
 The main namespace of the library.
 
namespace  pbat::common
 Common functionality.
 

Functions

template<CIndexRange R, std::integral TIndex = std::ranges::range_value_t<R>>
auto pbat::common::CumSum (R &&sizes) -> Eigen::Vector< TIndex, Eigen::Dynamic >
 Cumulative sum of a range of integers.
 
template<std::integral TIndex>
auto pbat::common::Counts (auto begin, auto end, TIndex ncounts) -> Eigen::Vector< TIndex, Eigen::Dynamic >
 Counts the number of occurrences of each integer in a contiguous range.
 
template<std::integral TIndex>
auto pbat::common::Shuffle (TIndex begin, TIndex end) -> Eigen::Vector< TIndex, Eigen::Dynamic >
 Randomly shuffle a range of integers.
 
template<std::integral TIndexB, std::integral TIndexE, class Func, class TIndex = std::common_type_t<TIndexB, TIndexE>>
auto pbat::common::Filter (TIndexB begin, TIndexE end, Func &&f) -> Eigen::Vector< TIndex, Eigen::Dynamic >
 Filters a range of integers based on a predicate function.
 
template<class TDerivedX, class TDerivedR, class TScalar = typename TDerivedX::Scalar, std::integral TIndex = typename TDerivedR::Scalar>
auto pbat::common::Repeat (Eigen::DenseBase< TDerivedX > const &x, Eigen::DenseBase< TDerivedR > const &r) -> Eigen::Vector< TScalar, Eigen::Dynamic >
 Repeats elements of a vector according to a repetition vector.
 

Detailed Description

Author
Quoc-Minh Ton-That (tonth.nosp@m.at.q.nosp@m.uocmi.nosp@m.nh@g.nosp@m.mail..nosp@m.com)
Date
2025-02-10