그리드표시 임의 그리드 및 흡착점 추가
This commit is contained in:
parent
7e6b8ffff3
commit
0262e47dd3
@ -2,13 +2,14 @@ import { useRecoilState, useRecoilValue } from 'recoil'
|
|||||||
import { adsorptionPointAddModeState, adsorptionPointModeState, adsorptionRangeState, canvasState } from '@/store/canvasAtom'
|
import { adsorptionPointAddModeState, adsorptionPointModeState, adsorptionRangeState, canvasState } from '@/store/canvasAtom'
|
||||||
import { fabric } from 'fabric'
|
import { fabric } from 'fabric'
|
||||||
import { useMouse } from '@/hooks/useMouse'
|
import { useMouse } from '@/hooks/useMouse'
|
||||||
|
import { gridDisplaySelector } from '@/store/settingAtom'
|
||||||
|
|
||||||
export function useAdsorptionPoint() {
|
export function useAdsorptionPoint() {
|
||||||
const canvas = useRecoilValue(canvasState)
|
const canvas = useRecoilValue(canvasState)
|
||||||
const [adsorptionPointAddMode, setAdsorptionPointAddMode] = useRecoilState(adsorptionPointAddModeState)
|
const [adsorptionPointAddMode, setAdsorptionPointAddMode] = useRecoilState(adsorptionPointAddModeState)
|
||||||
const [adsorptionPointMode, setAdsorptionPointMode] = useRecoilState(adsorptionPointModeState)
|
const [adsorptionPointMode, setAdsorptionPointMode] = useRecoilState(adsorptionPointModeState)
|
||||||
const [adsorptionRange, setAdsorptionRange] = useRecoilState(adsorptionRangeState)
|
const [adsorptionRange, setAdsorptionRange] = useRecoilState(adsorptionRangeState)
|
||||||
|
const isGridDisplay = useRecoilValue(gridDisplaySelector)
|
||||||
const { getIntersectMousePoint } = useMouse()
|
const { getIntersectMousePoint } = useMouse()
|
||||||
|
|
||||||
const getAdsorptionPoints = () => {
|
const getAdsorptionPoints = () => {
|
||||||
@ -28,6 +29,7 @@ export function useAdsorptionPoint() {
|
|||||||
y: pointer.y,
|
y: pointer.y,
|
||||||
selectable: true,
|
selectable: true,
|
||||||
name: 'adsorptionPoint',
|
name: 'adsorptionPoint',
|
||||||
|
visible: isGridDisplay,
|
||||||
})
|
})
|
||||||
|
|
||||||
canvas.add(adsorptionPoint)
|
canvas.add(adsorptionPoint)
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { calculateDistance, calculateIntersection, distanceBetweenPoints, findCl
|
|||||||
import { useAdsorptionPoint } from '@/hooks/useAdsorptionPoint'
|
import { useAdsorptionPoint } from '@/hooks/useAdsorptionPoint'
|
||||||
import { useDotLineGrid } from '@/hooks/useDotLineGrid'
|
import { useDotLineGrid } from '@/hooks/useDotLineGrid'
|
||||||
import { useTempGrid } from '@/hooks/useTempGrid'
|
import { useTempGrid } from '@/hooks/useTempGrid'
|
||||||
|
import { gridDisplaySelector } from '@/store/settingAtom'
|
||||||
|
|
||||||
export function useEvent() {
|
export function useEvent() {
|
||||||
const canvas = useRecoilValue(canvasState)
|
const canvas = useRecoilValue(canvasState)
|
||||||
|
|||||||
@ -1,11 +1,13 @@
|
|||||||
import { canvasState, tempGridModeState } from '@/store/canvasAtom'
|
import { canvasState, tempGridModeState } from '@/store/canvasAtom'
|
||||||
import { useRecoilState, useRecoilValue } from 'recoil'
|
import { useRecoilState, useRecoilValue } from 'recoil'
|
||||||
import { gridColorState } from '@/store/gridAtom'
|
import { gridColorState } from '@/store/gridAtom'
|
||||||
|
import { gridDisplaySelector } from '@/store/settingAtom'
|
||||||
|
|
||||||
export function useTempGrid() {
|
export function useTempGrid() {
|
||||||
const canvas = useRecoilValue(canvasState)
|
const canvas = useRecoilValue(canvasState)
|
||||||
const gridColor = useRecoilValue(gridColorState)
|
const gridColor = useRecoilValue(gridColorState)
|
||||||
const [tempGridMode, setTempGridMode] = useRecoilState(tempGridModeState)
|
const [tempGridMode, setTempGridMode] = useRecoilState(tempGridModeState)
|
||||||
|
const isGridDisplay = useRecoilValue(gridDisplaySelector)
|
||||||
const tempGridModeStateLeftClickEvent = (e) => {
|
const tempGridModeStateLeftClickEvent = (e) => {
|
||||||
//임의 그리드 모드일 경우
|
//임의 그리드 모드일 경우
|
||||||
let pointer = canvas.getPointer(e.e)
|
let pointer = canvas.getPointer(e.e)
|
||||||
@ -22,6 +24,7 @@ export function useTempGrid() {
|
|||||||
strokeDashArray: [5, 2],
|
strokeDashArray: [5, 2],
|
||||||
opacity: 0.3,
|
opacity: 0.3,
|
||||||
direction: 'vertical',
|
direction: 'vertical',
|
||||||
|
visible: isGridDisplay,
|
||||||
name: 'tempGrid',
|
name: 'tempGrid',
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -48,6 +51,7 @@ export function useTempGrid() {
|
|||||||
strokeDashArray: [5, 2],
|
strokeDashArray: [5, 2],
|
||||||
opacity: 0.3,
|
opacity: 0.3,
|
||||||
name: 'tempGrid',
|
name: 'tempGrid',
|
||||||
|
visible: isGridDisplay,
|
||||||
direction: 'horizontal',
|
direction: 'horizontal',
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user