Kamera-Panel + Iso-Button in der Oberleiste
Oberleiste: - View-Gruppe: Iso-Button neu zwischen Right und Persp - matchView: Iso = parallel ohne orthogonalen Standard-Namen, Perspektive = !parallel — beide via Projektions-Flag unterschieden (Rhino-Viewport-Name ist oft "Perspective" fuer beide) - Camera-Knopf (Icon: videocam) oeffnet das neue Kamera-Panel - SET_VIEW Backend: 'Iso' faelltt auf kamera._set_iso(vp, "NE") - OPEN_KAMERA_PANEL Handler Kamera-Panel (neu — rhino/kamera.py + src/KameraApp.jsx): - Viewport-Name + Projektions-Toggle (Persp/Parallel) - 4 Iso-Quick-Buttons (NW/NE/SE/SW) — true-iso 35°/45°, Kamera-Distanz auto aus Szenen-BBox - Vec3-Felder fuer Kamera-Position + Blick-Ziel (numerisch editierbar, m) - Distanz read-only - Brennweite (mm) bei Persp, Frustum-Breite (m) bei Parallel - Zoom-Extents-Button - Presets: speichern + anwenden + loeschen, persistiert in doc.Strings["dossier_kamera_presets"] (JSON) - Eto-Form-Satelliten-Fenster (420x600) via panel_base.open_satellite_window Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -169,6 +169,16 @@ export function toggleOverrides(on) { send('TOGGLE_OVERRIDES', { enabled: !
|
||||
export function setOverridesPreset(name) { send('SET_OVERRIDES_PRESET', { name: name || null }) }
|
||||
export function saveOverridesPreset(name) { send('SAVE_OVERRIDES_PRESET', { name }) }
|
||||
export function openOverridesPanel() { send('OPEN_OVERRIDES_PANEL', {}) }
|
||||
export function openKameraPanel() { send('OPEN_KAMERA_PANEL', {}) }
|
||||
|
||||
// --- Kamera-Panel ---
|
||||
export function setKameraViewport(state) { send('SET_VIEWPORT', { ...state }) }
|
||||
export function setKameraProjection(parallel) { send('SET_PROJECTION', { parallel: !!parallel }) }
|
||||
export function setKameraIso(octant) { send('SET_ISO', { octant: octant || 'NE' }) }
|
||||
export function kameraZoomExtents() { send('ZOOM_EXTENTS', {}) }
|
||||
export function saveKameraPreset(name) { send('SAVE_PRESET', { name }) }
|
||||
export function applyKameraPreset(id) { send('APPLY_PRESET', { id }) }
|
||||
export function deleteKameraPreset(id) { send('DELETE_PRESET', { id }) }
|
||||
// Ebenenkombinationen (gehosted in Oberleiste, gleicher Store wie EBENEN)
|
||||
export function pickLayerCombination(name) { send('PICK_LAYER_COMBINATION', { name: name || null }) }
|
||||
export function saveLayerCombination(name) { send('SAVE_LAYER_COMBINATION', { name }) }
|
||||
|
||||
Reference in New Issue
Block a user