OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
PlaneProperties.h
Go to the documentation of this file.
1#pragma once
2#include <string>
3#include <map>
4
5class __declspec(dllexport) PlaneProperties
6{
7public:
8 enum NormalDescription
9 {
10 X,Y,Z,Free, UNKNOWN
11 };
12
13 const std::string GetPropertyNameNormal(void) const { return nameNormal; };
14 const std::string GetPropertyNameCenterX(void) const { return nameCenterX; };
15 const std::string GetPropertyNameCenterY(void) const { return nameCenterY; };
16 const std::string GetPropertyNameCenterZ(void) const { return nameCenterZ; };
17
18 const std::string GetPropertyNameNormalCooX(void) const { return nameNormalCooX; };
19 const std::string GetPropertyNameNormalCooY(void) const { return nameNormalCooY; };
20 const std::string GetPropertyNameNormalCooZ(void) const { return nameNormalCooZ; };
21
22 std::string GetPropertyValueNormalX(void) const { return valueNormalX; };
23 std::string GetPropertyValueNormalY(void) const { return valueNormalY; };
24 std::string GetPropertyValueNormalZ(void) const { return valueNormalZ; };
25 std::string GetPropertyValueNormalFree(void) const { return valueNormalFree; };
26
27 const NormalDescription GetNormalDescription(const std::string normal) const
28 {
29 NormalDescription returnVal;
30 normalDescriptionMapping.find(normal) == normalDescriptionMapping.end() ? returnVal = UNKNOWN : returnVal = normalDescriptionMapping.at(normal);
31 return returnVal;
32 };
33
34private:
35 const std::string nameNormal = "Normal";
36 const std::string nameCenterX = "Center X";
37 const std::string nameCenterY = "Center Y";
38 const std::string nameCenterZ = "Center Z";
39 const std::string nameNormalCooX = "Normal X";
40 const std::string nameNormalCooY = "Normal Y";
41 const std::string nameNormalCooZ = "Normal Z";
42
43 const std::string valueNormalX = "X";
44 const std::string valueNormalY = "Y";
45 const std::string valueNormalZ = "Z";
46 const std::string valueNormalFree = "Free";
47
48 std::map<std::string, NormalDescription> normalDescriptionMapping{ {valueNormalX, X}, {valueNormalY, Y}, {valueNormalZ, Z}, {valueNormalFree, Free} };
49};
#define X
Definition TriangleBoxOverlapTest.h:49
#define Z
Definition TriangleBoxOverlapTest.h:51
#define Y
Definition TriangleBoxOverlapTest.h:50