!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / Sandbox / Plugins / LodGeneratorPlugin / panel / AutoGeneratorParams.h
blobfd12850104a14bf176cacd559fb834dff90ce084
1 #pragma once
3 namespace LODGenerator
5 class CAutoGeneratorParams
7 public:
8 CAutoGeneratorParams();
9 ~CAutoGeneratorParams();
11 template <class T>
12 T GetGeometryOption(string paramName)
14 T value;
15 if (IVariable* pVar = m_pGeometryVarBlock->FindVariable(paramName))
16 pVar->Get(value);
17 return value;
20 template <class T>
21 void SetGeometryOption(string paramName, T paramValue)
23 if (IVariable* pVar = m_pGeometryVarBlock->FindVariable(paramName))
24 pVar->Set(paramValue);
27 template <class T>
28 T GetMaterialOption(string paramName)
30 T value;
31 if (IVariable* pVar = m_pMaterialVarBlock->FindVariable(paramName))
32 pVar->Get(value);
33 return value;
36 template <class T>
37 void SetMaterialOption(string paramName, T paramValue)
39 if (IVariable* pVar = m_pMaterialVarBlock->FindVariable(paramName))
40 pVar->Set(paramValue);
43 void SetGeometryOptionLimit(string paramName, float fMin, float fMax, float fStep = 0.f, bool bHardMin = true, bool bHardMax = true )
45 if (IVariable* pVar = m_pGeometryVarBlock->FindVariable(paramName))
46 pVar->SetLimits(fMin,fMax,fStep,bHardMin,bHardMax);
49 void SetMaterialOptionLimit(string paramName, float fMin, float fMax, float fStep = 0.f, bool bHardMin = true, bool bHardMax = true )
51 if (IVariable* pVar = m_pMaterialVarBlock->FindVariable(paramName))
52 pVar->SetLimits(fMin,fMax,fStep,bHardMin,bHardMax);
55 void GetGeometryOptionLimit(string paramName, float& fMin, float& fMax, float& fStep, bool& bHardMin, bool& bHardMax )
57 if (IVariable* pVar = m_pGeometryVarBlock->FindVariable(paramName))
58 pVar->GetLimits(fMin,fMax,fStep,bHardMin,bHardMax);
61 void GetMaterialOptionLimit(string paramName, float& fMin, float& fMax, float& fStep, bool& bHardMin, bool& bHardMax )
63 if (IVariable* pVar = m_pMaterialVarBlock->FindVariable(paramName))
64 pVar->GetLimits(fMin,fMax,fStep,bHardMin,bHardMax);
67 void EnableUpdateCallbacks(bool enable);
69 private:
70 _smart_ptr<CVarBlock> m_pGeometryVarBlock;
71 CSmartVariable<int> m_nSourceLod;
72 CSmartVariable<bool> m_bObjectHasBase;
73 CSmartVariable<int> m_nViewsAround;
74 CSmartVariable<int> m_nViewElevations;
75 CSmartVariable<float> m_fSilhouetteWeight;
76 CSmartVariable<float> m_fViewResolution;
77 CSmartVariable<float> m_fVertexWelding;
78 CSmartVariable<bool> m_bCheckTopology;
79 CSmartVariable<bool> m_bWireframe;
80 CSmartVariable<bool> m_bExportObj;
81 CSmartVariable<bool> m_bAddToParentMaterial;
82 CSmartVariable<bool> m_bUseCageMesh;
83 CSmartVariable<bool> m_bPreviewSourceLod;
85 _smart_ptr<CVarBlock> m_pMaterialVarBlock;
86 CSmartVariable<float> m_fRayLength;
87 CSmartVariable<float> m_fRayStartDist;
88 CSmartVariable<bool> m_bBakeAlpha;
89 CSmartVariable<bool> m_bBakeSpec;
90 CSmartVariable<bool> m_bSmoothCage;
91 CSmartVariable<bool> m_bDilationPass;
92 CSmartVariable<int> m_cBackgroundColour;
93 CSmartVariable<string> m_strExportPath;
94 CSmartVariable<string> m_strFilename;
95 CSmartVariable<string> m_strPresetDiffuse;
96 CSmartVariable<string> m_strPresetNormal;
97 CSmartVariable<string> m_strPresetSpecular;
98 CSmartVariable<bool> m_useAutoTextureSize;
99 CSmartVariable<float> m_autoTextureRadius1;
100 CSmartVariable<int> m_autoTextureSize1;
101 CSmartVariable<float> m_autoTextureRadius2;
102 CSmartVariable<int> m_autoTextureSize2;
103 CSmartVariable<float> m_autoTextureRadius3;
104 CSmartVariable<int> m_autoTextureSize3;