haxis/Plugins/PolishBuildings/Source/Private/BuildingsProxyTool/SBuildingsProxyDialog.h

76 lines
2.5 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#pragma once
class FBuildingsProxyTool;
/*-----------------------------------------------------------------------------
SBuildingsProxyDialog
-----------------------------------------------------------------------------*/
class SBuildingsProxyDialog : public SCompoundWidget
{
public:
SLATE_BEGIN_ARGS(SBuildingsProxyDialog)
{
}
SLATE_END_ARGS()
public:
/** SWidget functions */
void Construct(const FArguments& InArgs, FBuildingsProxyTool* InTool);
protected:
/** ScreenSize accessors */
TOptional<int32> GetScreenSize() const;
void ScreenSizeChanged(int32 NewValue); //used with editable text block (Simplygon)
/** Recalculate Normals accessors */
ECheckBoxState GetRecalculateNormals() const;
void SetRecalculateNormals(ECheckBoxState NewValue);
/** Hard Angle Threshold accessors */
TOptional<float> GetHardAngleThreshold() const;
bool HardAngleThresholdEnabled() const;
void HardAngleThresholdChanged(float NewValue);
/** Hole filling accessors */
TOptional<int32> GetMergeDistance() const;
void MergeDistanceChanged(int32 NewValue);
/** Clipping Plane accessors */
ECheckBoxState GetUseClippingPlane() const;
void SetUseClippingPlane(ECheckBoxState NewValue);
bool UseClippingPlaneEnabled() const;
void SetClippingAxis(TSharedPtr<FString> NewSelection, ESelectInfo::Type SelectInfo);
TOptional<float> GetClippingLevel() const;
void ClippingLevelChanged(float NewValue);
/** TextureResolution accessors */
void SetTextureResolution(TSharedPtr<FString> NewSelection, ESelectInfo::Type SelectInfo);
void SetLightMapResolution( TSharedPtr<FString> NewSelection, ESelectInfo::Type SelectInfo );
/** Export material properties acessors **/
ECheckBoxState GetExportNormalMap() const;
void SetExportNormalMap(ECheckBoxState NewValue);
ECheckBoxState GetExportMetallicMap() const;
void SetExportMetallicMap(ECheckBoxState NewValue);
ECheckBoxState GetExportRoughnessMap() const;
void SetExportRoughnessMap(ECheckBoxState NewValue);
ECheckBoxState GetExportSpecularMap() const;
void SetExportSpecularMap(ECheckBoxState NewValue);
private:
/** Creates the geometry mode controls */
void CreateLayout();
int32 FindTextureResolutionEntryIndex( int32 InResolution ) const;
FText GetPropertyToolTipText( const FName& PropertyName ) const;
private:
FBuildingsProxyTool* Tool;
TArray< TSharedPtr<FString> > CuttingPlaneOptions;
TArray< TSharedPtr<FString> > TextureResolutionOptions;
};