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
23
25
29{
30
31public:
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
#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
Target mlrange_cast(Source arg)
Generic version of checked ML casts.