Changes
Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com>
This commit is contained in:
@@ -536,12 +536,15 @@ export function ModelViewerCanvas({ url }: ModelViewerProps) {
|
|||||||
<GridLayer />
|
<GridLayer />
|
||||||
<GridAutoFollower />
|
<GridAutoFollower />
|
||||||
|
|
||||||
|
<PositionDragHandler />
|
||||||
|
|
||||||
<OrbitControls
|
<OrbitControls
|
||||||
makeDefault
|
makeDefault
|
||||||
enableDamping
|
enableDamping
|
||||||
dampingFactor={0.1}
|
dampingFactor={0.1}
|
||||||
minDistance={0.05}
|
minDistance={0.05}
|
||||||
maxDistance={50}
|
maxDistance={50}
|
||||||
|
enabled={!useModelStore((s) => s.positionMode) && !useModelStore((s) => s.measureMode)}
|
||||||
/>
|
/>
|
||||||
</Canvas>
|
</Canvas>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -212,6 +212,8 @@ interface ModelStore {
|
|||||||
|
|
||||||
measureMode: boolean;
|
measureMode: boolean;
|
||||||
setMeasureMode: (on: boolean) => void;
|
setMeasureMode: (on: boolean) => void;
|
||||||
|
positionMode: boolean;
|
||||||
|
setPositionMode: (on: boolean) => void;
|
||||||
measurePoints: MeasurePoint[];
|
measurePoints: MeasurePoint[];
|
||||||
addMeasurePoint: (p: MeasurePoint) => void;
|
addMeasurePoint: (p: MeasurePoint) => void;
|
||||||
measurements: Measurement[];
|
measurements: Measurement[];
|
||||||
@@ -442,7 +444,9 @@ export const useModelStore = create<ModelStore>((set, get) => ({
|
|||||||
resetChecklist: () => set({ checklist: defaultChecklist.map(i => ({ ...i })) }),
|
resetChecklist: () => set({ checklist: defaultChecklist.map(i => ({ ...i })) }),
|
||||||
|
|
||||||
measureMode: false,
|
measureMode: false,
|
||||||
setMeasureMode: (measureMode) => set({ measureMode, measurePoints: [] }),
|
setMeasureMode: (measureMode) => set((s) => ({ measureMode, measurePoints: [], positionMode: measureMode ? false : s.positionMode })),
|
||||||
|
positionMode: false,
|
||||||
|
setPositionMode: (positionMode) => set((s) => ({ positionMode, measureMode: positionMode ? false : s.measureMode })),
|
||||||
measurePoints: [],
|
measurePoints: [],
|
||||||
addMeasurePoint: (p) => set((state) => {
|
addMeasurePoint: (p) => set((state) => {
|
||||||
const points = [...state.measurePoints, p];
|
const points = [...state.measurePoints, p];
|
||||||
|
|||||||
Reference in New Issue
Block a user