protected override void register_parameters() { closingMode = base.RegisterDropDown("FillTypeDropDown", "fill_type", new List <string>() { "Trivial", "Minimal", "Smooth" }, new List <int>() { (int)FillHolesTool.FillTypes.Trivial, (int)FillHolesTool.FillTypes.Minimal, (int)FillHolesTool.FillTypes.Smooth }); showHidden = base.RegisterToggle("ShowHiddenToggle", "show_hidden"); minimalPanel = this.gameObject.FindChildByName("MinimalPanel", true); smoothPanel = this.gameObject.FindChildByName("SmoothPanel", true); fillAllButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "FillAllButton", on_fill_all_clicked); minOptimizeTris = base.RegisterToggle("MinimalOptimizeTrisToggle", "optimize_tris"); minOptTrisTolerance = base.RegisterFloatInput("MinimalOptTrisTolInput", "optimize_tris_deviation_thresh", new Interval1d(0, 1)); smoothAutoTargetEdgeLen = base.RegisterToggle("AutoEdgeLengthToggle", "auto_edge_length"); smoothTargetEdgeLen = base.RegisterFloatInput("TargetEdgeLenInput", "edge_length", new Interval1d(0.01, 100)); smoothOptRounds = base.RegisterIntInput("OptimizationRoundsInput", "smooth_opt_rounds", new Interval1i(1, 999)); statusText = UnityUIUtil.FindTextAndSet(this.gameObject, "StatusText", ""); }
protected override void register_parameters() { reduceMode = base.RegisterDropDown("ReduceTypeDropDown", "target_mode", new List <string>() { "Triangles", "Vertices", "Min Length" }, new List <int>() { (int)ReduceOp.TargetModes.TriangleCount, (int)ReduceOp.TargetModes.VertexCount, (int)ReduceOp.TargetModes.MinEdgeLength }); triangleCount = base.RegisterIntInput("TriangleCountInput", "triangle_count", new Interval1i(0, int.MaxValue)); trianglePanel = this.gameObject.FindChildByName("TriangleCountParam", true); vertexCount = base.RegisterIntInput("VertexCountInput", "vertex_count", new Interval1i(0, int.MaxValue)); vertexPanel = this.gameObject.FindChildByName("VertexCountParam", true); minEdgeLength = base.RegisterFloatInput("MinEdgeLengthInput", "min_edge_length", new Interval1d(0.0001, 100), "F8"); minEdgeLengthPanel = this.gameObject.FindChildByName("MinEdgeLengthParam", true); reproject = base.RegisterToggle("ReprojectToggle", "reproject"); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); statusText = UnityUIUtil.FindTextAndSet(this.gameObject, "StatusText", ""); }
protected override void register_parameters() { holeType = base.RegisterDropDown("HoleTypeDropDown", "hole_type", new List <string>() { "Cut Mesh", "Add Cavity" }, new List <int>() { (int)AddHoleTool.HoleTypes.CutHole, (int)AddHoleTool.HoleTypes.CavityObject }); directionType = base.RegisterDropDown("HoleDirectionDropDown", "hole_direction", new List <string>() { "Vertical", "Right/Left", "Back/Fwd", "Normal" }, new List <int>() { (int)AddHoleTool.HoleDirections.AxisY, (int)AddHoleTool.HoleDirections.AxisX, (int)AddHoleTool.HoleDirections.AxisZ, (int)AddHoleTool.HoleDirections.Normal }); holeSize = base.RegisterFloatInput("HoleSizeInput", "hole_size", new Interval1d(0.001f, 500.0f)); throughHole = base.RegisterToggle("ThroughHoleToggle", "through_hole"); holeDepth = base.RegisterFloatInput("HoleDepthInput", "hole_depth", new Interval1d(0.001f, 500.0f)); subdivisions = base.RegisterIntInput("SubdivisionsInput", "subdivisions", new Interval1i(3, 1000)); showPreview = base.RegisterToggle("ShowPreviewToggle", "show_preview"); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); }
protected override void register_parameters() { edgeLength = base.RegisterFloatInput("EdgeLengthInput", "edge_length", new Interval1d(0.01, 100), "F4"); smoothAlpha = base.RegisterFloatInput("SmoothingInput", "smooth_alpha", new Interval1d(0, 1), "F4"); iterations = base.RegisterIntInput("RoundsInput", "iterations", new Interval1i(1, 9999)); boundaryMode = base.RegisterDropDown("BoundaryModeDropDown", "boundary_mode", new List <string>() { "Free", "Fixed", "Split" }, new List <int>() { (int)RemeshTool.BoundaryModes.FreeBoundaries, (int)RemeshTool.BoundaryModes.FixedBoundaries, (int)RemeshTool.BoundaryModes.ConstrainedBoundaries }); preserveCreases = base.RegisterToggle("PreserveCreasesToggle", "preserve_creases"); creaseAngle = base.RegisterFloatInput("CreaseAngleInput", "crease_angle", new Interval1d(10, 90), "F2"); reproject = base.RegisterToggle("ReprojectToggle", "reproject"); smoothButton = base.RegisterToggleButton("SmoothButton", "enable_smooth"); collapseButton = base.RegisterToggleButton("CollapseButton", "enable_collapse"); splitButton = base.RegisterToggleButton("SplitButton", "enable_split"); flipButton = base.RegisterToggleButton("FlipButton", "enable_flip"); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); }
protected override void register_parameters() { shellType = base.RegisterDropDown("ShellTypeDropDown", "shell_type", new List <string>() { "Voxel", "Extrusion" }, new List <int>() { (int)MeshShellTool.ShellTypes.DistanceField, (int)MeshShellTool.ShellTypes.Extrusion }); directionType = base.RegisterDropDown("ShellDirectionDropDown", "shell_direction", new List <string>() { "Inset", "Outset", "Symmetric" }, new List <int>() { (int)MeshShellTool.ShellDirections.Inner, (int)MeshShellTool.ShellDirections.Outer, (int)MeshShellTool.ShellDirections.Symmetric, }); shellThickness = base.RegisterFloatInput("ShellThicknessInput", "shell_thickness", new Interval1d(0.0001f, 9999f)); simpleCellSize = base.RegisterFloatInput("SimpleCellSizeInput", "all_cell_size", new Interval1d(0.25f, 500.0f)); simpleCellSizeRow = this.gameObject.FindChildByName("SimpleCellSizeParam", true); gridCellCount = base.RegisterIntInput("GridCellCountInput", "grid_cell_count", new Interval1i(4, 2048)); gridCellCountRow = this.gameObject.FindChildByName("GridCellCountParam", true); gridCellSize = base.RegisterFloatInput("GridCellSizeInput", "grid_cell_size", new Interval1d(0.001f, 500.0f)); gridCellSizeRow = this.gameObject.FindChildByName("GridCellSizeParam", true); meshCellCount = base.RegisterIntInput("MeshCellCountInput", "mesh_cell_count", new Interval1i(4, 2048)); meshCellCountRow = this.gameObject.FindChildByName("MeshCellCountParam", true); meshCellSize = base.RegisterFloatInput("MeshCellSizeInput", "mesh_cell_size", new Interval1d(0.001f, 500.0f)); meshCellSizeRow = this.gameObject.FindChildByName("MeshCellSizeParam", true); minComponentSize = base.RegisterFloatInput("MinComponentSizeInput", "min_component_size", new Interval1d(0.0f, 500.0f)); minComponentSizeRow = this.gameObject.FindChildByName("MinComponentSizeParam", true); showInputObjects = base.RegisterToggle("ShowOriginalToggle", "show_original"); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); basicButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "BasicToggleButton", on_basic_expert_toggle); TabOrder.Add(basicButton.gameObject); update_basic_expert_visibility(); }
protected override void register_parameters() { insideMode = base.RegisterDropDown("InsideModeDropDown", "inside_mode", new List <string>() { "Interior", "Occluded" }, new List <int>() { (int)RemoveHiddenFacesTool.CalculationMode.WindingNumber, (int)RemoveHiddenFacesTool.CalculationMode.OcclusionTest }); allVertices = base.RegisterToggle("AllVerticesToggle", "all_hidden_vertices"); showRemoved = base.RegisterToggle("ShowRemovedToggle", "show_removed"); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); }
public MappedDropDown RegisterDropDown(string dropdownName, string toolParamName, List <string> options, List <int> values) { MappedDropDown dropdown = new MappedDropDown( this.gameObject.FindChildByName(dropdownName, true).GetComponent <Dropdown>(), () => { return(ActiveParameterSet.GetValueInt(toolParamName)); }, (intValue) => { ActiveParameterSet.SetValue <int>(toolParamName, intValue); update_values_from_tool(); }); dropdown.SetOptions(options, values); TabOrder.Add(dropdown.drop); dropdown_params.Add(new DropDownParam() { widget = dropdown, paramName = toolParamName }); return(dropdown); }
protected override void register_parameters() { reprojectMode = base.RegisterDropDown("ReprojectTypeDropDown", "project_mode", new List <string>() { "Smooth", "Sharp", "Bounded" }, new List <int>() { (int)ReprojectTool.ReprojectModes.Smooth, (int)ReprojectTool.ReprojectModes.Sharp, (int)ReprojectTool.ReprojectModes.Bounded }); maxDistance = base.RegisterFloatInput("MaxDistanceInput", "max_distance", new Interval1d(0.001, 1000), "F4"); transitionSmooth = base.RegisterFloatInput("TransitionSmoothInput", "transition_smoothness", new Interval1d(0, 1)); edgeLength = base.RegisterFloatInput("EdgeLengthInput", "edge_length", new Interval1d(0.01, 100)); smoothAlpha = base.RegisterFloatInput("SmoothingInput", "smooth_alpha", new Interval1d(0, 1), "F4"); iterations = base.RegisterIntInput("RoundsInput", "iterations", new Interval1i(1, 9999)); boundaryMode = base.RegisterDropDown("BoundaryModeDropDown", "boundary_mode", new List <string>() { "Free", "Fixed", "Split" }, new List <int>() { (int)RemeshTool.BoundaryModes.FreeBoundaries, (int)RemeshTool.BoundaryModes.FixedBoundaries, (int)RemeshTool.BoundaryModes.ConstrainedBoundaries }); smoothButton = base.RegisterToggleButton("SmoothButton", "enable_smooth"); collapseButton = base.RegisterToggleButton("CollapseButton", "enable_collapse"); splitButton = base.RegisterToggleButton("SplitButton", "enable_split"); flipButton = base.RegisterToggleButton("FlipButton", "enable_flip"); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); }
protected override void register_parameters() { removeInsideMode = base.RegisterDropDown("InsideModeDropDown", "remove_inside_mode", new List <string>() { "None", "Interior", "Hidden" }, new List <int>() { (int)MeshAutoRepairTool.RemoveInsideModes.None, (int)MeshAutoRepairTool.RemoveInsideModes.Interior, (int)MeshAutoRepairTool.RemoveInsideModes.Occluded }); minEdgeLength = base.RegisterFloatInput("MinEdgeLengthInput", "min_edge_length", new Interval1d(0.0001, 100)); erosionRounds = base.RegisterIntInput("ErosionRoundsInput", "erosion_rounds", new Interval1i(0, 10000)); invertResult = base.RegisterToggle("InvertResultToggle", "invert_result"); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); }
protected override void register_parameters() { shapeTypeMode = base.RegisterDropDown("ShapeTypeDropDown", "shape_type", new List <string>() { "Box", "Sphere", "Cylinder", "Arrow", "Bunny" }, new List <int>() { (int)GenerateShapeTool.ShapeTypes.Box, (int)GenerateShapeTool.ShapeTypes.Sphere, (int)GenerateShapeTool.ShapeTypes.Cylinder, (int)GenerateShapeTool.ShapeTypes.Arrow, (int)GenerateShapeTool.ShapeTypes.Bunny }); subdivisions = base.RegisterIntInput("SubdivisionsInput", "subdivisions", new Interval1i(1, 1000)); shapeHeight = base.RegisterFloatInput("HeightInput", "shape_height", new Interval1d(0, 1000000)); shapeWidth = base.RegisterFloatInput("WidthInput", "shape_width", new Interval1d(0, 1000000)); shapeDepth = base.RegisterFloatInput("DepthInput", "shape_depth", new Interval1d(0, 1000000)); }
protected override void register_parameters() { closingMode = base.RegisterDropDown("ClosingTypeDropDown", "closing_type", new List <string>() { "Robust", "Precise", "Fast" }, new List <int>() { (int)GenerateClosedMeshTool.ClosingTypes.WindingNumberGrid, (int)GenerateClosedMeshTool.ClosingTypes.WindingNumberAnalytic, (int)GenerateClosedMeshTool.ClosingTypes.LevelSet }); simpleCellSize = base.RegisterFloatInput("SimpleCellSizeInput", "all_cell_size", new Interval1d(0.25f, 500.0f)); simpleCellSizeRow = this.gameObject.FindChildByName("SimpleCellSizeParam", true); gridCellCount = base.RegisterIntInput("GridCellCountInput", "grid_cell_count", new Interval1i(4, 2048)); gridCellCountRow = this.gameObject.FindChildByName("GridCellCountParam", true); gridCellSize = base.RegisterFloatInput("GridCellSizeInput", "grid_cell_size", new Interval1d(0.001f, 500.0f)); gridCellSizeRow = this.gameObject.FindChildByName("GridCellSizeParam", true); meshCellCount = base.RegisterIntInput("MeshCellCountInput", "mesh_cell_count", new Interval1i(4, 2048)); meshCellCountRow = this.gameObject.FindChildByName("MeshCellCountParam", true); meshCellSize = base.RegisterFloatInput("MeshCellSizeInput", "mesh_cell_size", new Interval1d(0.001f, 500.0f)); meshCellSizeRow = this.gameObject.FindChildByName("MeshCellSizeParam", true); minComponentSize = base.RegisterFloatInput("MinComponentSizeInput", "min_component_size", new Interval1d(0.0f, 500.0f)); minComponentSizeRow = this.gameObject.FindChildByName("MinComponentSizeParam", true); offsetDistance = base.RegisterFloatInput("OffsetDistanceInput", "offset_distance", new Interval1d(-500, 500)); windingIso = base.RegisterFloatInput("WindingIsoInput", "winding_inflate", new Interval1d(0.01, 0.99)); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); basicButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "BasicToggleButton", on_basic_expert_toggle); TabOrder.Add(basicButton.gameObject); }
protected override void register_parameters() { operationMode = base.RegisterDropDown("OpTypeDropDown", "op_type", new List <string>() { "Expand", "Contract", "Erode", "Fill" }, new List <int>() { (int)MeshMorphologyTool.OperationTypes.Dilate, (int)MeshMorphologyTool.OperationTypes.Contract, (int)MeshMorphologyTool.OperationTypes.Open, (int)MeshMorphologyTool.OperationTypes.Close }); offsetDistance = base.RegisterFloatInput("DistanceInput", "distance", new Interval1d(-500, 500)); simpleCellSize = base.RegisterFloatInput("SimpleCellSizeInput", "all_cell_size", new Interval1d(0.25f, 500.0f)); simpleCellSizeRow = this.gameObject.FindChildByName("SimpleCellSizeParam", true); gridCellCount = base.RegisterIntInput("GridCellCountInput", "grid_cell_count", new Interval1i(4, 2048)); gridCellCountRow = this.gameObject.FindChildByName("GridCellCountParam", true); gridCellSize = base.RegisterFloatInput("GridCellSizeInput", "grid_cell_size", new Interval1d(0.001f, 500.0f)); gridCellSizeRow = this.gameObject.FindChildByName("GridCellSizeParam", true); meshCellCount = base.RegisterIntInput("MeshCellCountInput", "mesh_cell_count", new Interval1i(4, 2048)); meshCellCountRow = this.gameObject.FindChildByName("MeshCellCountParam", true); meshCellSize = base.RegisterFloatInput("MeshCellSizeInput", "mesh_cell_size", new Interval1d(0.001f, 500.0f)); meshCellSizeRow = this.gameObject.FindChildByName("MeshCellSizeParam", true); minComponentSize = base.RegisterFloatInput("MinComponentSizeInput", "min_component_size", new Interval1d(0.0f, 500.0f)); minComponentSizeRow = this.gameObject.FindChildByName("MinComponentSizeParam", true); replaceInput = base.RegisterToggle("ReplaceInputToggle", "replace_input"); basicButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "BasicToggleButton", on_basic_expert_toggle); TabOrder.Add(basicButton.gameObject); }
// Use this for initialization public void Start() { dismissButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "DismissButton", on_dismiss); UnityUIUtil.FindTextAndSet(this.gameObject, "VersionText", string.Format("v{0}.{1}.{2}", CotangentVersion.CurrentVersion.a, CotangentVersion.CurrentVersion.b, CotangentVersion.CurrentVersion.c)); prefsTabButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "PreferencesButton", on_prefs_tab); prefsTab = this.gameObject.FindChildByName("PreferencesPanel", true); privacyTabButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "PrivacyButton", on_privacy_tab); privacyTab = this.gameObject.FindChildByName("PrivacyPanel", true); aboutTabButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "AboutButton", on_about_tab); aboutTab = this.gameObject.FindChildByName("AboutPanel", true); startupWorkspace = new MappedDropDown( this.gameObject.FindChildByName("StartupWorkspaceDropDown", true).GetComponent <Dropdown>(), () => { return((int)CCPreferences.StartupWorkspace); }, (intValue) => { CCPreferences.StartupWorkspace = (AppViewMode)intValue; }); startupWorkspace.SetOptions( new List <string>() { "Print", "Repair", "Model" }, new List <int>() { (int)AppViewMode.PrintView, (int)AppViewMode.RepairView, (int)AppViewMode.ModelView }); startupWorkspace.SetFromId((int)CCPreferences.StartupWorkspace); graphicsQuality = new MappedDropDown( this.gameObject.FindChildByName("GraphicsQualityDropDown", true).GetComponent <Dropdown>(), () => { return((int)CCPreferences.GraphicsQuality); }, (intValue) => { CCPreferences.GraphicsQuality = (CCPreferences.GraphicsQualityLevels)intValue; }); graphicsQuality.SetOptions( new List <string>() { "Maximum", "High", "Medium", "Low", "Fastest" }, new List <int>() { (int)CCPreferences.GraphicsQualityLevels.Max, (int)CCPreferences.GraphicsQualityLevels.High, (int)CCPreferences.GraphicsQualityLevels.Medium, (int)CCPreferences.GraphicsQualityLevels.Low, (int)CCPreferences.GraphicsQualityLevels.Fastest }); graphicsQuality.SetFromId((int)CCPreferences.GraphicsQuality); cameraMode = new MappedDropDown( this.gameObject.FindChildByName("CameraModeDropDown", true).GetComponent <Dropdown>(), () => { return((int)CCPreferences.CameraMode); }, (intValue) => { CCPreferences.CameraMode = (CCPreferences.CameraModes)intValue; }); cameraMode.SetOptions( new List <string>() { "Perspective", "Orthographic" }, new List <int>() { (int)CCPreferences.CameraModes.Perspective, (int)CCPreferences.CameraModes.Orthographic }); cameraMode.SetFromId((int)CCPreferences.CameraMode); importXFormMode = new MappedDropDown( this.gameObject.FindChildByName("ImportXFormDropdown", true).GetComponent <Dropdown>(), () => { return((int)CCPreferences.ImportTransformMode); }, (intValue) => { CCPreferences.ImportTransformMode = (CCPreferences.ImportTransformModes)intValue; }); importXFormMode.SetOptions( new List <string>() { "Auto-Center First", "Auto-Center All", "No Transformations" }, new List <int>() { (int)CCPreferences.ImportTransformModes.AutoCenterFirst, (int)CCPreferences.ImportTransformModes.AutoCenterAll, (int)CCPreferences.ImportTransformModes.NoAutoCenter }); importXFormMode.SetFromId((int)CCPreferences.ImportTransformMode); importAssistantMode = new MappedDropDown( this.gameObject.FindChildByName("ImportAssistantModeDropdown", true).GetComponent <Dropdown>(), () => { return((int)CCPreferences.ImportAssistantMode); }, (intValue) => { CCPreferences.ImportAssistantMode = (CCPreferences.ImportAssistantModes)intValue; }); importAssistantMode.SetOptions( new List <string>() { "All Assistants", "Mesh Size Only", "Dimensions Only", "Disabled" }, new List <int>() { (int)CCPreferences.ImportAssistantModes.All, (int)CCPreferences.ImportAssistantModes.MeshSizeOnly, (int)CCPreferences.ImportAssistantModes.PhysicalSizeOnly, (int)CCPreferences.ImportAssistantModes.Disabled }); importAssistantMode.SetFromId((int)CCPreferences.ImportAssistantMode); largeMeshSizeInput = UnityUIUtil.FindInputAndAddIntHandlers(this.gameObject, "LargeMeshSizeInput", () => { return(CCPreferences.LargeMeshImportThreshold); }, (intValue) => { CCPreferences.LargeMeshImportThreshold = intValue; }, 10000, 999999999); largeMeshSizeInput.text = CCPreferences.LargeMeshImportThreshold.ToString(); unityPolicyButton = UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "PrivacyPolicyButton", on_unity_privacy_policy); // about dialog UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "GradientspaceWebButton", on_open_gradientspace_site); UnityUIUtil.FindButtonAndAddClickHandler(this.gameObject, "CotangentWebButton", on_open_cotangent_site); on_prefs_tab(); }