Enzo
Loading...
Searching...
No Matches
src
Engine
Operator
GeometryOpDef.h
1
#pragma once
2
#include "Engine/Operator/Geometry.h"
3
#include "Engine/Operator/Context.h"
4
#include "Engine/Types.h"
5
#include <boost/config.hpp>
6
7
8
namespace
enzo::nt
9
{
10
class
NetworkManager;
11
12
class
BOOST_SYMBOL_EXPORT
GeometryOpDef
13
{
14
public
:
15
GeometryOpDef
(enzo::nt::OpId opId);
16
virtual
void
cookOp(
op::Context
context) = 0;
17
geo::Geometry
& getOutputGeo(
unsigned
outputIndex);
18
private
:
19
std::vector<enzo::geo::Geometry> outputGeometry_;
20
unsigned
int
minInputs_;
21
unsigned
int
maxInputs_;
22
unsigned
int
maxOutputs_;
23
protected
:
24
enzo::nt::OpId opId_;
25
const
enzo::geo::Geometry
& getInputGeoView(
unsigned
int
inputIndex);
26
bool
outputRequested(
unsigned
int
outputIndex);
27
28
// TODO: std::move geometry instead of copying
29
void
setOutputGeometry(
unsigned
int
outputIndex,
enzo::geo::Geometry
geometry);
30
};
31
32
using
opConstructor =
GeometryOpDef
* (*)(enzo::nt::OpId);
33
34
}
enzo::geo::Geometry
Definition
Geometry.h:9
enzo::nt::GeometryOpDef
Definition
GeometryOpDef.h:13
enzo::op::Context
Definition
Context.h:14
Generated by
1.12.0