import React from 'react'; import { BimModel } from '../types'; import { Box, Layers, Maximize2, RotateCcw, ZoomIn, ZoomOut, Search, Info, Settings, Eye, EyeOff } from 'lucide-react'; interface BimViewerProps { models: BimModel[]; } const BimViewer: React.FC = ({ models }) => { const [selectedModel, setSelectedModel] = React.useState(models[0] || null); const [layers, setLayers] = React.useState([ { id: 'arch', name: 'Architectural', visible: true }, { id: 'struct', name: 'Structural', visible: true }, { id: 'mep', name: 'MEP', visible: false }, { id: 'elec', name: 'Electrical', visible: false }, ]); const toggleLayer = (id: string) => { setLayers(layers.map(l => l.id === id ? { ...l, visible: !l.visible } : l)); }; return (
{/* Model List & Layers */}

BIM Models

{models.map(model => ( ))}

Model Layers

{layers.map(layer => ( ))}
{/* Viewer Stage */}
{/* Mock 3D Canvas */}
{/* Simple CSS 3D Cube / Shape to simulate a model */}
{/* Grid Lines */}
{/* Viewer Controls */}
{/* Info Overlay */}

Active Model

{selectedModel?.name || 'No Model Selected'}

FPS: 60
Vertices: 1.2M
{/* Search / Navigation */}
); }; export default BimViewer;