importJava "org.simantics.district.network.DistrictNetworkUtil" where
calculateDistance :: Resource -> Resource -> <ReadGraph> Double
+ nearbyVertices :: Resource -> Double -> <ReadGraph> [Resource]
importJava "org.simantics.district.network.ModelledCRS" where
xToLongitude :: Double -> <Proc> Double
()
importJava "org.simantics.district.network.DistrictNetworkUtil" where
- createVertex :: Resource -> Vector Double -> Resource -> <WriteGraph, Proc> Resource
- createEdge :: Resource -> Resource -> <WriteGraph, Proc> Resource
+ createVertex :: Resource -> Vector Double -> Double -> Resource -> <WriteGraph, Proc> Resource
+ createEdge :: Resource -> Resource -> Vector Double -> <WriteGraph, Proc> Resource
+
+"""
+Tries to look for the Resource representing the configuration component
+mapped to the specified district network diagram element.
+"""
+possibleMappedComponent :: Resource -> <ReadGraph> Maybe Resource
+possibleMappedComponent r = match possibleObject r DN.MappedComponent with
+ Nothing -> Nothing
+ Just me -> possibleObject me MOD.ElementToComponent
"""
Tries to look for the Variable representing the configuration component
but if that is not available then a configuration context variable is returned.
"""
possibleMappedComponentVariable :: Resource -> <ReadGraph> Maybe Variable
-possibleMappedComponentVariable r = match possibleObject r DN.MappedComponent with
+possibleMappedComponentVariable r = match possibleMappedComponent r with
Nothing -> Nothing
- Just me -> match possibleObject me MOD.ElementToComponent with
- Nothing -> Nothing
- Just mc -> do
- mcv = resourceVariable mc
- match possibleActiveVariable mcv with
- Nothing -> Just mcv
- a -> a
+ Just mc -> do
+ mcv = resourceVariable mc
+ match possibleActiveVariable mcv with
+ Nothing -> Just mcv
+ a -> a
"""
"""
-possibleMappedComponentPropertyValue :: String -> Resource -> <ReadGraph> Maybe Double
+possibleMappedComponentPropertyValue :: Serializable a => Typeable a => String -> Resource -> <ReadGraph> Maybe a
possibleMappedComponentPropertyValue propName r = match possibleMappedComponentVariable r with
Nothing -> Nothing
Just mv -> possiblePropertyValue mv propName
"""
"""
-mappedComponentPropertyValue :: Double -> String -> Resource -> <ReadGraph> Double
+mappedComponentPropertyValue :: Serializable a => Typeable a => a -> String -> Resource -> <ReadGraph> a
mappedComponentPropertyValue def propName r = match possibleMappedComponentVariable r with
Nothing -> def
Just mv -> match possiblePropertyValue mv propName with
Nothing -> def
Just v -> v
+
+"""
+Returns possible district network element that is mapped to the
+specified model configuration component. The DN element is found
+using the following relation path:
+
+ domain model configuration component ---[MOD.ComponentToElement]---> domain model diagram element
+ ----[DN.MappedFromElement]----> district network diagram element
+"""
+possibleDNElementMappedToComponent :: Resource -> <ReadGraph> Maybe Resource
+possibleDNElementMappedToComponent mappedComponent = match possibleObject mappedComponent MOD.ComponentToElement with
+ Nothing -> Nothing
+ Just element -> possibleObject element DN.MappedFromElement
+
+"""
+Returns all district network elements that are found to be mapped the
+specified mapped model configuration components by
+[possibleDNElementMappedToComponent](possibleDNElementMappedToComponent).
+
+The result list can be smaller than the input resource list, even empty.
+"""
+dnElementsMappedToComponents :: [Resource] -> <ReadGraph> [Resource]
+dnElementsMappedToComponents mappedComponents = mapMaybe possibleDNElementMappedToComponent mappedComponents
+
+
+importJava "org.simantics.district.network.DistrictNetworkUtil" where
+ createNetworkDiagram :: Resource -> Resource -> String -> Resource -> Resource -> Resource -> Resource -> Resource -> <WriteGraph, Proc> Resource
+ changeMappingType :: Resource -> [Resource] -> <WriteGraph, Proc> ()
+ findDNElementById :: Resource -> String -> <ReadGraph, Proc> Maybe Resource
+ findDNElementByXYCoordinates :: Resource -> Double -> Double -> Double -> <ReadGraph, Proc> [Resource]
+