Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added feature level-sets and dependencies #177

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

PetiteViking
Copy link
Contributor

Before I go, there is some code which I think would be nice to have available for the public. Unfortunately, I will not have time to put too much time into this so maybe we can make it a combined effort.

The code I added here includes some volume operations such as reduction, min/max, etc, implemented using compute shaders and the feature level-sets (FLS), also implemented using compute shaders.

Everything works well enough to use it for standard cases (floating-point input fields). There are some things though that might need some attention.

One things that comes to my mind is the injection of implicit functions into the shader code for FLS. Right now I have a number of placeholders and do a simple string replace. Maybe this is better done with Peter's new shader snippet thingy.

Another thing is that I have also not handled anything other than 32 bit floating point volumes as input since that is all I ever needed. Maybe dispatching should be added here.

In the shader code for volume reduction you can see that I tried using different samplers for different input data. The code compiles fine but the shader won't work for certain inputs (IIRC integer >16 bit).

I wrote a fair bit of documentation but I haven't checked for completeness.

@petersteneteg petersteneteg force-pushed the feature/featurelevelsets branch from 0941b92 to 98cc817 Compare January 23, 2025 17:54
Copy link

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v17.0.6) reports: 73 concern(s)
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumechannelsplitgl.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumechannelsplitgl.h:42:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeChannelSplitGL' is non-const and globally accessible, consider making it const

       42 | class IVW_MODULE_COMPUTEUTILS_API VolumeChannelSplitGL {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumeminmaxgl.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumeminmaxgl.h:43:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeMinMaxGL' is non-const and globally accessible, consider making it const

       43 | class IVW_MODULE_COMPUTEUTILS_API VolumeMinMaxGL {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumenormalizationgl.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumenormalizationgl.h:44:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeNormalizationGL' is non-const and globally accessible, consider making it const

       44 | class IVW_MODULE_COMPUTEUTILS_API VolumeNormalizationGL {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumereductiongl.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumereductiongl.h:44:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeReductionGL' is non-const and globally accessible, consider making it const

       44 | class IVW_MODULE_COMPUTEUTILS_API VolumeReductionGL {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumeshrinktonormalrangegl.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/algorithm/volumeshrinktonormalrangegl.h:43:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeShrinkToNormalRangeGL' is non-const and globally accessible, consider making it const

       43 | class IVW_MODULE_COMPUTEUTILS_API VolumeShrinkToNormalRangeGL {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/computeutilsmodule.h:31:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       31 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/computeutilsmodule.h:36:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'ComputeUtilsModule' is non-const and globally accessible, consider making it const

       36 | class IVW_MODULE_COMPUTEUTILS_API ComputeUtilsModule : public InviwoModule {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/processors/volumechannelsplitglprocessor.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/processors/volumechannelsplitglprocessor.h:51:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeChannelSplitGLProcessor' is non-const and globally accessible, consider making it const

       51 | class IVW_MODULE_COMPUTEUTILS_API VolumeChannelSplitGLProcessor : public Processor {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/processors/volumeminmaxglprocessor.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/processors/volumeminmaxglprocessor.h:62:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeMinMaxGLProcessor' is non-const and globally accessible, consider making it const

       62 | class IVW_MODULE_COMPUTEUTILS_API VolumeMinMaxGLProcessor : public Processor {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/processors/volumenormalizationglprocessor.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/processors/volumenormalizationglprocessor.h:66:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeNormalizationGLProcessor' is non-const and globally accessible, consider making it const

       66 | class IVW_MODULE_COMPUTEUTILS_API VolumeNormalizationGLProcessor : public Processor {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/processors/volumereductionglprocessor.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/processors/volumereductionglprocessor.h:55:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeReductionGLProcessor' is non-const and globally accessible, consider making it const

       55 | class IVW_MODULE_COMPUTEUTILS_API VolumeReductionGLProcessor : public Processor {
          |                                   ^
  • misc/computeutils/include/inviwo/computeutils/processors/volumeshrinktonormalrangeglprocessor.h:32:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmoduledefine.h' file not found

       32 | #include <inviwo/computeutils/computeutilsmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/include/inviwo/computeutils/processors/volumeshrinktonormalrangeglprocessor.h:68:35: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'VolumeShrinkToNormalRangeGLProcessor' is non-const and globally accessible, consider making it const

       68 | class IVW_MODULE_COMPUTEUTILS_API VolumeShrinkToNormalRangeGLProcessor : public Processor {
          |                                   ^
  • misc/computeutils/src/algorithm/volumechannelsplitgl.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/algorithm/volumechannelsplitgl.h' file not found

       30 | #include <inviwo/computeutils/algorithm/volumechannelsplitgl.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/algorithm/volumeminmaxgl.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/algorithm/volumeminmaxgl.h' file not found

       30 | #include <inviwo/computeutils/algorithm/volumeminmaxgl.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/algorithm/volumenormalizationgl.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/algorithm/volumenormalizationgl.h' file not found

       30 | #include <inviwo/computeutils/algorithm/volumenormalizationgl.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/algorithm/volumereductiongl.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/algorithm/volumereductiongl.h' file not found

       30 | #include <inviwo/computeutils/algorithm/volumereductiongl.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/algorithm/volumeshrinktonormalrangegl.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/algorithm/volumeshrinktonormalrangegl.h' file not found

       30 | #include <inviwo/computeutils/algorithm/volumeshrinktonormalrangegl.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/computeutilsmodule.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/computeutilsmodule.h' file not found

       30 | #include <inviwo/computeutils/computeutilsmodule.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/processors/volumechannelsplitglprocessor.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/processors/volumechannelsplitglprocessor.h' file not found

       30 | #include <inviwo/computeutils/processors/volumechannelsplitglprocessor.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/processors/volumeminmaxglprocessor.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/processors/volumeminmaxglprocessor.h' file not found

       30 | #include <inviwo/computeutils/processors/volumeminmaxglprocessor.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/processors/volumenormalizationglprocessor.cpp:29:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/processors/volumenormalizationglprocessor.h' file not found

       29 | #include <inviwo/computeutils/processors/volumenormalizationglprocessor.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/processors/volumereductionglprocessor.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/processors/volumereductionglprocessor.h' file not found

       30 | #include <inviwo/computeutils/processors/volumereductionglprocessor.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • misc/computeutils/src/processors/volumeshrinktonormalrangeglprocessor.cpp:29:10: error: [clang-diagnostic-error]

    'inviwo/computeutils/processors/volumeshrinktonormalrangeglprocessor.h' file not found

       29 | #include <inviwo/computeutils/processors/volumeshrinktonormalrangeglprocessor.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/featurelevelsetsglmodule.h:31:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h' file not found

       31 | #include <inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/featurelevelsetsglmodule.h:36:41: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'FeatureLevelSetsGLModule' is non-const and globally accessible, consider making it const

       36 | class IVW_MODULE_FEATURELEVELSETSGL_API FeatureLevelSetsGLModule : public InviwoModule {
          |                                         ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/processors/featurelevelsetprocessorgl.h:32:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h' file not found

       32 | #include <inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/processors/featurelevelsetprocessorgl.h:48:41: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'FeatureLevelSetProcessorGL' is non-const and globally accessible, consider making it const

       48 | class IVW_MODULE_FEATURELEVELSETSGL_API FeatureLevelSetProcessorGL : public Processor,
          |                                         ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/properties/implicitfunctiontraitproperty.h:3:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h' file not found

        3 | #include <inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/properties/implicitfunctiontraitproperty.h:10:41: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'ImplicitFunctionTraitProperty' is non-const and globally accessible, consider making it const

       10 | class IVW_MODULE_FEATURELEVELSETSGL_API ImplicitFunctionTraitProperty : public TraitProperty {
          |                                         ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/properties/pointtraitproperty.h:3:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h' file not found

        3 | #include <inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/properties/pointtraitproperty.h:8:41: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'PointTraitProperty' is non-const and globally accessible, consider making it const

        8 | class IVW_MODULE_FEATURELEVELSETSGL_API PointTraitProperty : public TraitProperty {
          |                                         ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/properties/rangetraitproperty.h:3:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h' file not found

        3 | #include <inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/properties/rangetraitproperty.h:8:41: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'RangeTraitProperty' is non-const and globally accessible, consider making it const

        8 | class IVW_MODULE_FEATURELEVELSETSGL_API RangeTraitProperty : public TraitProperty {
          |                                         ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/properties/traitproperty.h:3:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h' file not found

        3 | #include <inviwo/featurelevelsetsgl/featurelevelsetsglmoduledefine.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/properties/traitproperty.h:8:41: warning: [cppcoreguidelines-avoid-non-const-global-variables]

    variable 'TraitProperty' is non-const and globally accessible, consider making it const

        8 | class IVW_MODULE_FEATURELEVELSETSGL_API TraitProperty : public CompositeProperty {
          |                                         ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:1:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

        1 | namespace inviwo {
          | ^~~~~~~~~~~~~~~~~~
        2 | namespace util {
          | ~~~~~~~~~~~~~~
          | namespace inviwo::util
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:17:27: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       17 | T minkowskiDistance(const std::vector<T>& a, const std::vector<T>& b, const T order) {
          |                           ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:17:52: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       17 | T minkowskiDistance(const std::vector<T>& a, const std::vector<T>& b, const T order) {
          |                                                    ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:19:12: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       19 |     return std::pow(std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |            ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:19:21: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       19 |     return std::pow(std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |                     ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:19:77: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       19 |     return std::pow(std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |                                                                             ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:19:87: error: [clang-diagnostic-error]

    expected expression

       19 |     return std::pow(std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |                                                                                       ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:19:89: error: [clang-diagnostic-error]

    expected expression

       19 |     return std::pow(std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |                                                                                         ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:20:67: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       20 |                                        [order](T x, T y) { return std::pow(y - x, order); }),
          |                                                                   ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:34:27: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       34 | T manhattanDistance(const std::vector<T>& a, const std::vector<T>& b) {
          |                           ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:34:52: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       34 | T manhattanDistance(const std::vector<T>& a, const std::vector<T>& b) {
          |                                                    ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:48:27: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       48 | T euclideanDistance(const std::vector<T>& a, const std::vector<T>& b) {
          |                           ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:48:52: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       48 | T euclideanDistance(const std::vector<T>& a, const std::vector<T>& b) {
          |                                                    ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:62:28: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       62 | T squaredSumDistance(const std::vector<T>& a, const std::vector<T>& b) {
          |                            ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:62:53: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       62 | T squaredSumDistance(const std::vector<T>& a, const std::vector<T>& b) {
          |                                                     ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:64:12: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       64 |     return std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |            ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:64:68: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       64 |     return std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |                                                                    ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:64:78: error: [clang-diagnostic-error]

    expected expression

       64 |     return std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |                                                                              ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:64:80: error: [clang-diagnostic-error]

    expected expression

       64 |     return std::inner_product(a.begin(), a.end(), b.begin(), T(0), std::plus<>(),
          |                                                                                ^
  • multivis/featurelevelsetsgl/include/inviwo/featurelevelsetsgl/util/util.h:65:53: error: [clang-diagnostic-error]

    use of undeclared identifier 'std'

       65 |                               [](T x, T y) { return std::pow(y - x, T(2)); });
          |                                                     ^
  • multivis/featurelevelsetsgl/src/featurelevelsetsglmodule.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/featurelevelsetsglmodule.h' file not found

       30 | #include <inviwo/featurelevelsetsgl/featurelevelsetsglmodule.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/src/processors/featurelevelsetprocessorgl.cpp:30:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/processors/featurelevelsetprocessorgl.h' file not found

       30 | #include <inviwo/featurelevelsetsgl/processors/featurelevelsetprocessorgl.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/src/properties/implicitfunctiontraitproperty.cpp:1:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/properties/implicitfunctiontraitproperty.h' file not found

        1 | #include <inviwo/featurelevelsetsgl/properties/implicitfunctiontraitproperty.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/src/properties/pointtraitproperty.cpp:1:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/properties/pointtraitproperty.h' file not found

        1 | #include <inviwo/featurelevelsetsgl/properties/pointtraitproperty.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/src/properties/rangetraitproperty.cpp:1:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/properties/rangetraitproperty.h' file not found

        1 | #include <inviwo/featurelevelsetsgl/properties/rangetraitproperty.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/src/properties/traitproperty.cpp:1:10: error: [clang-diagnostic-error]

    'inviwo/featurelevelsetsgl/properties/traitproperty.h' file not found

        1 | #include <inviwo/featurelevelsetsgl/properties/traitproperty.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • multivis/featurelevelsetsgl/tests/unittests/featurelevelsetsgl-unittest-main.cpp:46:5: warning: [bugprone-exception-escape]

    an exception may be thrown in function 'main' which should not throw exceptions

       46 | int main(int argc, char** argv) {
          |     ^
  • multivis/featurelevelsetsgl/tests/unittests/featurelevelsetsgl-unittest-main.cpp:47:5: warning: [google-build-using-namespace]

    do not use namespace using-directives; use using-declarations instead

       47 |     using namespace inviwo;
          |     ^

Have any feedback or feature suggestions? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed J: Auto Format
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants