// 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 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 GetHardAngleThreshold() const; bool HardAngleThresholdEnabled() const; void HardAngleThresholdChanged(float NewValue); /** Hole filling accessors */ TOptional GetMergeDistance() const; void MergeDistanceChanged(int32 NewValue); /** Clipping Plane accessors */ ECheckBoxState GetUseClippingPlane() const; void SetUseClippingPlane(ECheckBoxState NewValue); bool UseClippingPlaneEnabled() const; void SetClippingAxis(TSharedPtr NewSelection, ESelectInfo::Type SelectInfo); TOptional GetClippingLevel() const; void ClippingLevelChanged(float NewValue); /** TextureResolution accessors */ void SetTextureResolution(TSharedPtr NewSelection, ESelectInfo::Type SelectInfo); void SetLightMapResolution( TSharedPtr 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 > CuttingPlaneOptions; TArray< TSharedPtr > TextureResolutionOptions; };