Table of Contents

GeomCombinationControl

The GeomCombinationControl provides a user interface for combining multiple geometric objects into a single composite geometry. This is useful for creating complex shapes from simpler primitives.

Features

  • Add multiple geometric objects to the combination
  • Remove selected objects from the combination
  • Edit the properties of each included geometry
  • Support for various geometry types

UI Layout

The GeomCombinationControl includes the following UI elements:

  1. Geometry List - A ListView showing all the geometries in the combination
  2. Add Geometry - A section for adding new geometries:
    • Geometry Type - A combo box for selecting the type of geometry to add
    • Add Button - Adds a new geometry of the selected type to the combination
  3. Remove Button - Removes the selected geometry from the combination
  4. Geometry Properties - A container that shows the appropriate control for editing the selected geometry

Supported Geometry Types

The control supports adding the following geometry types to the combination:

  • Box3d
  • Cylindroid
  • StlFile
  • TransformationGeom

Source Code Path

See this page for git repository.

WPF Application Source Code Path

  • Geom/GeomCombinationControl

Web Service Application Source Code Path

HiNC-2025-webservice (Quasar CLI SPA):

  • wwwroot-src/src/components/geom/GeomCombinationEditor.vue — children list with Add / Remove / Clear + per-child inline editors (Box3d / Cylindroid / StlFile; matches the backend AddItem switch). Reachable through GeometryEditor (and nested inside TransformationGeomEditor since TransformationGeomController.CreateGeom accepts "GeomCombination"). (A3.2).
  • wwwroot-src/src/api/geometry.tsgetGeomCombination / addGeomCombinationItem / removeGeomCombinationItemAt / clearGeomCombination / indexGeomCombinationItemAt wrappers + createGeometry('GeomCombination', key) factory.
  • Geom/GeomCombinationController.cs — REST endpoints New / Get / AddItem / RemoveItemAt / Clear / IndexItemAt / GetCount / GetItemTypeAt.