MeVisLab Toolbox Reference
CSOFunction.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2009, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 
16 
17 #pragma once
18 
19 #include "MLCSOIncludes.h"
20 
21 
22 ML_START_NAMESPACE
23 
25 
29 {
30 
31 public:
32 
34  CSOFunction() = default;
36  virtual ~CSOFunction() = default;
37 
39  inline virtual float evaluateAtPos(const Vector3& ) const { return 0.0f; };
40 
42  inline virtual bool shouldParallelize() const { return false; }
43 
45  inline virtual bool logging() const { return true; }
46 };
47 
49 
50 ML_END_NAMESPACE
#define MLCSO_EXPORT
Defines export symbols for classes, so they can be used in other DLLs.
Definition: MLCSOSystem.h:23
Base class for distance functions for application in the marching cubes algorithm.
Definition: CSOFunction.h:29
CSOFunction()=default
Constructor (empty).
virtual ~CSOFunction()=default
Destructor (empty).
virtual bool logging() const
Returns whether logging is enabled.
Definition: CSOFunction.h:45
virtual float evaluateAtPos(const Vector3 &) const
Returns a scalar (distance) for a position.
Definition: CSOFunction.h:39
virtual bool shouldParallelize() const
Returns whether calls to evaluateAtPos should and can be done from different threads.
Definition: CSOFunction.h:42