Skip to content

Namespace uipc

Namespace List > uipc

Namespaces

Type Name
namespace backend
namespace builtin
namespace constitution
namespace core
namespace details
namespace diff_sim
namespace geometry
namespace gui
namespace pmr

Classes

Type Name
class BufferInfo
class Exception
class GlobalTimer
class JsonIOError
class LogPatternGuard
struct PmrDeleter <typename T>
class Timer
class is_matrix <typename MatrixT>
class is_matrix< Eigen::Matrix< Scalar, Rows, Cols, Options, MaxRows, MaxCols > > <typename Scalar, Rows, Cols, Options, MaxRows, MaxCols>
struct propagate_const <typename T, typename DstT>
struct signature <typename Sig>
struct signature< R(&)(Args...)> <typename R, Args>
struct signature< R(*)(Args...)> <typename R, Args>
struct signature< R(Args...)> <typename R, Args>
struct signature< R(C::*)(Args...) && > <typename R, typename C, Args>
struct signature< R(C::*)(Args...) const > <typename R, typename C, Args>
struct signature< R(C::*)(Args...) const volatile > <typename R, typename C, Args>
struct signature< R(C::*)(Args...) volatile > <typename R, typename C, Args>
struct signature< R(C::*)(Args...)> <typename R, typename C, Args>

Public Types

Type Name
typedef std::pmr::polymorphic_allocator< T > Allocator
typedef double Float
typedef int32_t I32
typedef int64_t I64
typedef int32_t IndexT
typedef nlohmann::json Json
typedef Matrix< Float, 12, 12 > Matrix12x12
typedef Matrix< Float, 2, 2 > Matrix2x2
typedef Matrix< Float, 3, 3 > Matrix3x3
typedef Matrix< Float, 4, 4 > Matrix4x4
typedef Matrix< Float, 6, 6 > Matrix6x6
typedef Matrix< Float, 9, 9 > Matrix9x9
typedef std::shared_ptr< T > S
typedef std::size_t SizeT
typedef Eigen::Transform< Float, 3, Eigen::Affine > Transform
typedef Eigen::Translation< Float, 3 > Translation
typedef std::unique_ptr< T, PmrDeleter< T > > U
typedef uint32_t U32
typedef uint64_t U64
typedef Vector< Float, 12 > Vector12
typedef Vector< Float, 2 > Vector2
typedef Vector< IndexT, 2 > Vector2i
typedef Vector< Float, 3 > Vector3
typedef Vector< IndexT, 3 > Vector3i
typedef Vector< Float, 4 > Vector4
typedef Vector< IndexT, 4 > Vector4i
typedef Vector< Float, 6 > Vector6
typedef Vector< Float, 9 > Vector9
typedef Eigen::VectorX< Float > VectorX
typedef Eigen::VectorX< IndexT > VectorXi
typedef Eigen::VectorX< I64 > VectorXi64
typedef Eigen::VectorX< U32 > VectorXu
typedef Eigen::VectorX< U64 > VectorXu64
typedef std::weak_ptr< T > W
typedef typename propagate_const< T, DstT >::type propagate_const_t
typedef typename signature< Sig >::type signature_t
typedef std::stack< T, std::pmr::deque< T > > stack

Public Attributes

Type Name
constexpr bool RUNTIME_CHECK = = false
constexpr bool is_matrix_v = = is_matrix<MatrixT>::value

Public Functions

Type Name
READABLE_TYPE_NAME_AS_ALIAS (Vector2)
READABLE_TYPE_NAME_AS_ALIAS (Vector3)
READABLE_TYPE_NAME_AS_ALIAS (Vector4)
READABLE_TYPE_NAME_AS_ALIAS (Vector2i)
READABLE_TYPE_NAME_AS_ALIAS (Vector3i)
READABLE_TYPE_NAME_AS_ALIAS (Vector4i)
READABLE_TYPE_NAME_AS_ALIAS (Vector6)
READABLE_TYPE_NAME_AS_ALIAS (Vector9)
READABLE_TYPE_NAME_AS_ALIAS (Vector12)
READABLE_TYPE_NAME_AS_ALIAS (Matrix2x2)
READABLE_TYPE_NAME_AS_ALIAS (Matrix3x3)
READABLE_TYPE_NAME_AS_ALIAS (Matrix4x4)
READABLE_TYPE_NAME_AS_ALIAS (Matrix6x6)
READABLE_TYPE_NAME_AS_ALIAS (Matrix9x9)
READABLE_TYPE_NAME_AS_ALIAS (Matrix12x12)
READABLE_TYPE_NAME_AS_ALIAS (VectorX)
READABLE_TYPE_NAME_AS_ALIAS (VectorXi)
READABLE_TYPE_NAME_AS_ALIAS (VectorXi64)
READABLE_TYPE_NAME_AS_ALIAS (VectorXu)
READABLE_TYPE_NAME_AS_ALIAS (VectorXu64)
UIPC_CORE_API const Json & config ()
UIPC_CORE_API Json default_config ()
size_t encode_offset_count (RandIt first, RandIt last, OffsetCountIt offsets, OffsetCountIt counts, Pred && pred)
auto encode_offset_count (RandIt first, RandIt last, OffsetCountIt offset, OffsetCountIt count)
UIPC_CORE_API void init (const Json & config)
S< T > make_shared (Args &&... args)
U< T > make_unique (Args &&... args)
constexpr long double operator""_GPa (long double value)
Pascal literal operator (GPa)
constexpr long double operator""_MPa (long double value)
Pascal literal operator (MPa)
constexpr long double operator""_N (long double value)
Newton literal operator.
constexpr long double operator""_Pa (long double value)
Pascal literal operator.
constexpr long double operator""_kPa (long double value)
Pascal literal operator (kPa)
constexpr long double operator""_km (long double value)
Meter literal operator (km)
constexpr long double operator""_m (long double value)
Meter literal operator.
constexpr long double operator""_mm (long double value)
Meter literal operator (mm)
constexpr long double operator""_ms (long double value)
Second literal operator (ms)
constexpr long double operator""_s (long double value)
Second literal operator.
std::string readable_type_name () noexcept
std::size_t run_length_encode (InputIt in_first, InputIt in_last, OutputIt out_unique, OutputCountIt out_counts, Pred && pred)
Run-length encode the input range, the input range must be sorted.
auto run_length_encode (InputIt in_first, InputIt in_last, OutputIt out_unique, OutputCountIt out_counts)
U< DstT > static_pointer_cast (U< SrcT > && src)
UIPC_IO_API int test_gltf ()

Public Types Documentation

typedef Allocator

using uipc::Allocator =  std::pmr::polymorphic_allocator<T>;

typedef Float

using uipc::Float =  double;

typedef I32

using uipc::I32 =  int32_t;

typedef I64

using uipc::I64 =  int64_t;

typedef IndexT

using uipc::IndexT =  int32_t;

typedef Json

using uipc::Json =  nlohmann::json;

typedef Matrix12x12

using uipc::Matrix12x12 =  Matrix<Float, 12, 12>;

typedef Matrix2x2

using uipc::Matrix2x2 =  Matrix<Float, 2, 2>;

typedef Matrix3x3

using uipc::Matrix3x3 =  Matrix<Float, 3, 3>;

typedef Matrix4x4

using uipc::Matrix4x4 =  Matrix<Float, 4, 4>;

typedef Matrix6x6

using uipc::Matrix6x6 =  Matrix<Float, 6, 6>;

typedef Matrix9x9

using uipc::Matrix9x9 =  Matrix<Float, 9, 9>;

typedef S

using uipc::S =  std::shared_ptr<T>;

typedef SizeT

using uipc::SizeT =  std::size_t;

typedef Transform

using uipc::Transform =  Eigen::Transform<Float, 3, Eigen::Affine>;

typedef Translation

using uipc::Translation =  Eigen::Translation<Float, 3>;

typedef U

using uipc::U =  std::unique_ptr<T, PmrDeleter<T>>;

typedef U32

using uipc::U32 =  uint32_t;

typedef U64

using uipc::U64 =  uint64_t;

typedef Vector12

using uipc::Vector12 =  Vector<Float, 12>;

typedef Vector2

using uipc::Vector2 =  Vector<Float, 2>;

typedef Vector2i

using uipc::Vector2i =  Vector<IndexT, 2>;

typedef Vector3

using uipc::Vector3 =  Vector<Float, 3>;

typedef Vector3i

using uipc::Vector3i =  Vector<IndexT, 3>;

typedef Vector4

using uipc::Vector4 =  Vector<Float, 4>;

typedef Vector4i

using uipc::Vector4i =  Vector<IndexT, 4>;

typedef Vector6

using uipc::Vector6 =  Vector<Float, 6>;

typedef Vector9

using uipc::Vector9 =  Vector<Float, 9>;

typedef VectorX

using uipc::VectorX =  Eigen::VectorX<Float>;

typedef VectorXi

using uipc::VectorXi =  Eigen::VectorX<IndexT>;

typedef VectorXi64

using uipc::VectorXi64 =  Eigen::VectorX<I64>;

typedef VectorXu

using uipc::VectorXu =  Eigen::VectorX<U32>;

typedef VectorXu64

using uipc::VectorXu64 =  Eigen::VectorX<U64>;

typedef W

using uipc::W =  std::weak_ptr<T>;

typedef propagate_const_t

using uipc::propagate_const_t =  typename propagate_const<T, DstT>::type;

typedef signature_t

using uipc::signature_t =  typename signature<Sig>::type;

typedef stack

using uipc::stack =  std::stack<T, std::pmr::deque<T>>;

Public Attributes Documentation

variable RUNTIME_CHECK

constexpr bool uipc::RUNTIME_CHECK;

variable is_matrix_v

constexpr bool uipc::is_matrix_v;

Public Functions Documentation

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector2
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector3
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector4
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector2i
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector3i
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector4i
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector6
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector9
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Vector12
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Matrix2x2
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Matrix3x3
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Matrix4x4
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Matrix6x6
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Matrix9x9
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    Matrix12x12
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    VectorX
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    VectorXi
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    VectorXi64
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    VectorXu
) 

function READABLE_TYPE_NAME_AS_ALIAS

uipc::READABLE_TYPE_NAME_AS_ALIAS (
    VectorXu64
) 

function config

UIPC_CORE_API const Json & uipc::config () 

function default_config

UIPC_CORE_API Json uipc::default_config () 

function encode_offset_count

template<typename RandIt, typename OffsetCountIt, typename Pred>
size_t uipc::encode_offset_count (
    RandIt first,
    RandIt last,
    OffsetCountIt offsets,
    OffsetCountIt counts,
    Pred && pred
) 

function encode_offset_count

template<typename RandIt, typename OffsetCountIt>
auto uipc::encode_offset_count (
    RandIt first,
    RandIt last,
    OffsetCountIt offset,
    OffsetCountIt count
) 

function init

UIPC_CORE_API void uipc::init (
    const Json & config
) 

function make_shared

template<typename T, typename... Args>
S< T > uipc::make_shared (
    Args &&... args
) 

function make_unique

template<typename T, typename... Args>
U< T > uipc::make_unique (
    Args &&... args
) 

function operator""_GPa

constexpr long double uipc::operator""_GPa (
    long double value
) 

function operator""_MPa

constexpr long double uipc::operator""_MPa (
    long double value
) 

function operator""_N

Newton literal operator.

constexpr long double uipc::operator""_N (
    long double value
) 
auto force = 1.0_N;

function operator""_Pa

Pascal literal operator.

constexpr long double uipc::operator""_Pa (
    long double value
) 
auto pressure = 1.0_Pa;

function operator""_kPa

constexpr long double uipc::operator""_kPa (
    long double value
) 

function operator""_km

constexpr long double uipc::operator""_km (
    long double value
) 

function operator""_m

Meter literal operator.

constexpr long double uipc::operator""_m (
    long double value
) 
auto length = 1.0_m;

function operator""_mm

constexpr long double uipc::operator""_mm (
    long double value
) 

function operator""_ms

constexpr long double uipc::operator""_ms (
    long double value
) 

function operator""_s

Second literal operator.

constexpr long double uipc::operator""_s (
    long double value
) 
  • cpp
  • auto time = 1.0_s; *

function readable_type_name

template<typename T>
inline std::string uipc::readable_type_name () noexcept

function run_length_encode

Run-length encode the input range, the input range must be sorted.

template<typename InputIt, typename OutputIt, typename OutputCountIt, typename Pred>
std::size_t uipc::run_length_encode (
    InputIt in_first,
    InputIt in_last,
    OutputIt out_unique,
    OutputCountIt out_counts,
    Pred && pred
) 

Parameters:

  • in_first Input iterator to the beginning of the input range
  • in_last Input iterator to the end of the input range
  • out_unique Output iterator to the beginning of the unique values
  • out_counts Output iterator to the beginning of the counts of the unique values

Returns:

std::size_t The number of unique values


function run_length_encode

template<typename InputIt, typename OutputIt, typename OutputCountIt>
auto uipc::run_length_encode (
    InputIt in_first,
    InputIt in_last,
    OutputIt out_unique,
    OutputCountIt out_counts
) 

function static_pointer_cast

template<typename DstT, typename SrcT>
U< DstT > uipc::static_pointer_cast (
    U< SrcT > && src
) 

function test_gltf

UIPC_IO_API int uipc::test_gltf () 


The documentation for this class was generated from the following file include/uipc/backend/buffer_view.h