Portability | GHC |
---|---|
Stability | experimental |
Maintainer | Ian-Woo Kim <ianwookim@gmail.com> |
Safe Haskell | None |
Hit-testing routines
- isPointInBBox :: BBox -> (Double, Double) -> Bool
- do2LinesIntersect :: ((Double, Double), (Double, Double)) -> ((Double, Double), (Double, Double)) -> Bool
- doesLineHitStrk :: ((Double, Double), (Double, Double)) -> Stroke -> Bool
- do2BBoxIntersect :: BBox -> BBox -> Bool
- isBBox2InBBox1 :: BBox -> BBox -> Bool
- hltFilteredBy_StateT :: (a -> Bool) -> [a] -> State Bool (AlterList (NotHitted a) (Hitted a))
- hltFilteredBy :: (a -> Bool) -> [a] -> AlterList (NotHitted a) (Hitted a)
- hltHittedByBBox :: GetBBoxable a => BBox -> [a] -> AlterList (NotHitted a) (Hitted a)
- hltEmbeddedByBBox :: GetBBoxable a => BBox -> [a] -> AlterList (NotHitted a) (Hitted a)
- hltHittedByLineRough :: GetBBoxable a => ((Double, Double), (Double, Double)) -> [a] -> AlterList (NotHitted a) (Hitted a)
- hltItmsHittedByLine_StateT :: ((Double, Double), (Double, Double)) -> [RItem] -> State Bool RItemHitted
- hltItmsHittedByLineFrmSelected_StateT :: ((Double, Double), (Double, Double)) -> RItemHitted -> State Bool (AlterList (NotHitted RItem) RItemHitted)
- elimHitted :: GetBBoxable a => AlterList (NotHitted a) (Hitted a) -> State (Maybe BBox) [a]
- merge :: Maybe BBox -> Maybe BBox -> Maybe BBox
- getTotalBBox :: GetBBoxable a => [a] -> Maybe BBox
Documentation
hit test of whether a point in a bbox previously, hitTestBBoxPoint
hit test of whether two lines intersect
doesLineHitStrk :: ((Double, Double), (Double, Double)) -> Stroke -> BoolSource
previously, hitTestLineStroke
do2BBoxIntersect :: BBox -> BBox -> BoolSource
Do two bounding boxes intersect with each other? previously, hitTestBBoxBBox
is the second bbox inside the first bbox? previously, hitTestInsideBBox
highlight strokes filtered by a condition. previously mkHitTestAL
:: GetBBoxable a | |
=> BBox | test bounding box |
-> [a] | items to test |
-> AlterList (NotHitted a) (Hitted a) |
hltEmbeddedByBBox :: GetBBoxable a => BBox -> [a] -> AlterList (NotHitted a) (Hitted a)Source
:: GetBBoxable a | |
=> ((Double, Double), (Double, Double)) | line |
-> [a] | items to test |
-> AlterList (NotHitted a) (Hitted a) |
only check if a line and bbox of item overlapped
hltItmsHittedByLine_StateT :: ((Double, Double), (Double, Double)) -> [RItem] -> State Bool RItemHittedSource
hltItmsHittedByLineFrmSelected_StateT :: ((Double, Double), (Double, Double)) -> RItemHitted -> State Bool (AlterList (NotHitted RItem) RItemHitted)Source
elimHitted :: GetBBoxable a => AlterList (NotHitted a) (Hitted a) -> State (Maybe BBox) [a]Source
getTotalBBox :: GetBBoxable a => [a] -> Maybe BBoxSource