Itasca C++ Interface
Toggle main menu visibility
Loading...
Searching...
No Matches
iextrudeshape.h
1
#pragma once
2
#include "base/src/property.h"
3
4
namespace
extruder {
5
using namespace
itasca;
6
7
enum class
ExtrudeShapeType {
8
TunnelCircle,
9
TunnelRectangle,
10
TunnelVerticalWall,
11
TunnelDoubleArch,
12
TunnelHorseshoe3Arch,
13
TunnelHorseshoe5Arch,
14
SlopeSimple,
15
SlopeBench1,
16
SlopeBench2,
17
SlopeBench3,
18
SlopeOpenPit,
19
SlopeDam
20
};
21
22
class
IExtrudeShape
{
23
public
:
24
virtual
~IExtrudeShape
() =
default
;
25
virtual
string
getName()
const
= 0;
26
virtual
string
getKeyword()
const
= 0;
27
virtual
ExtrudeShapeType getShapeType()
const
= 0;
28
virtual
string
getParameters()
const
= 0;
29
virtual
string
getParameterKeywords()
const
= 0;
30
virtual
base::Property
getParameter(uint32 index)
const
= 0;
31
virtual
void
setParameter(uint32 index,
const
base::Property
& p) = 0;
32
virtual
base::Property::Type getParameterType(uint32 index)
const
= 0;
33
virtual
void
resetParameters() = 0;
34
virtual
bool
verifyInput(
string
*)
const
{
return
true
; }
35
virtual
bool
isOptionalParameter(uint32 )
const
{
return
false
;};
36
virtual
void
checkParameterCompatibility()
const
{};
37
virtual
void
generateSketch(std::vector<DVect>& pts, std::vector<std::vector<uint64>>& curves) = 0;
38
};
39
40
class
IExtrudeShapeTunnel
:
public
IExtrudeShape
{
41
public
:
42
virtual
~IExtrudeShapeTunnel
() =
default
;
43
virtual
DVect2 getCenter()
const
= 0;
44
virtual
void
setCenter(DVect2 v) = 0;
45
virtual
bool
isFullSection()
const
= 0;
46
virtual
void
setFullSection(
bool
b) = 0;
47
};
48
49
class
IExtrudeShapeSlope
:
public
IExtrudeShape
{
50
public
:
51
virtual
~IExtrudeShapeSlope
() =
default
;
52
virtual
DVect2 getOrigin()
const
= 0;
53
virtual
void
setOrigin(DVect2 v) = 0;
54
virtual
bool
isReverse()
const
= 0;
55
virtual
void
setReverse(
const
bool
& b) = 0;
56
virtual
bool
getIncludeInternal()
const
= 0;
57
virtual
void
setIncludeInternal(
const
bool
& b) = 0;
58
};
59
60
}
base::Property
Definition
property.h:52
extruder::IExtrudeShape
Definition
iextrudeshape.h:22
extruder::IExtrudeShapeSlope
Definition
iextrudeshape.h:49
extruder::IExtrudeShapeTunnel
Definition
iextrudeshape.h:40
flac3d
extruder
interface
iextrudeshape.h
Generated by
1.18.0