Files
test/source/blender/freestyle/intern/stroke/Modifiers.h
Sergey Sharybin d32d787f5f Clang-Format: Allow empty functions to be single-line
For example

```
OIIOOutputDriver::~OIIOOutputDriver()
{
}
```

becomes

```
OIIOOutputDriver::~OIIOOutputDriver() {}
```

Saves quite some vertical space, which is especially handy for
constructors.

Pull Request: https://projects.blender.org/blender/blender/pulls/105594
2023-03-29 16:50:54 +02:00

53 lines
1.3 KiB
C++

/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
/** \file
* \ingroup freestyle
* \brief modifiers...
*/
#include "TimeStamp.h"
#ifdef WITH_CXX_GUARDEDALLOC
# include "MEM_guardedalloc.h"
#endif
namespace Freestyle {
/* ----------------------------------------- *
* *
* modifiers *
* *
* ----------------------------------------- */
/** Base class for modifiers.
* Modifiers are used in the Operators in order to "mark" the processed Interface1D.
*/
template<class Edge> struct EdgeModifier : public unary_function<Edge, void> {
/** Default construction */
EdgeModifier() : unary_function<Edge, void>() {}
/** the () operator */
virtual void operator()(Edge &iEdge) {}
#ifdef WITH_CXX_GUARDEDALLOC
MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:EdgeModifier")
#endif
};
/** Modifier that sets the time stamp of an Interface1D to the time stamp of the system. */
template<class Edge> struct TimestampModifier : public EdgeModifier<Edge> {
/** Default constructor */
TimestampModifier() : EdgeModifier<Edge>() {}
/** The () operator. */
virtual void operator()(Edge &iEdge)
{
TimeStamp *timestamp = TimeStamp::instance();
iEdge.setTimeStamp(timestamp->getTimeStamp());
}
};
} /* namespace Freestyle */