Skip to content

[BUG] component-wise math ops break for non-POD types #1970

Open
@hiokazaki

Description

@hiokazaki

Describe the bug

The functions cwiseAdd, cwiseLessThan and cwiseGreaterThan in openvdb/math/Math.h should only be enabled for POD types, but are not guarded, so they break when grids with non-POD types are used.

A simple fix is something like:

template<typename Type1, typename Type2,
  typename = std::enable_if_t<
    std::is_trivial<Type1>::value && std::is_trivial<Type2>::value
  >
>
inline bool cwiseGreaterThan(const Type1& a, const Type2& b)

This should result in no functional change for OpenVDB as shipped, but permit third parties to extend support for custom non-POD types.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions