@itwin/presentation-backend
Version:
Backend of iTwin.js Presentation library
140 lines (139 loc) • 5.86 kB
JSON
{
"$schema": "../../../common/Ruleset.schema.json",
"id": "Functional",
"supplementationInfo": {
"supplementationPurpose": "Functional specific customization rules"
},
"requiredSchemas": [
{
"name": "BisCore"
},
{
"name": "Functional"
}
],
"rules": [
{
"ruleType": "ContentModifier",
"class": {
"schemaName": "Functional",
"className": "FunctionalElement"
},
"relatedProperties": [
{
"propertiesSource": {
"relationship": {
"schemaName": "Functional",
"className": "FunctionalElementIsOfType"
},
"direction": "Forward"
},
"handleTargetClassPolymorphically": true,
"relationshipMeaning": "RelatedInstance",
"nestedRelatedProperties": [
{
"propertiesSource": {
"relationship": {
"schemaName": "BisCore",
"className": "ElementOwnsUniqueAspect"
},
"direction": "Forward"
},
"handleTargetClassPolymorphically": true,
"relationshipMeaning": "SameInstance"
},
{
"propertiesSource": {
"relationship": {
"schemaName": "BisCore",
"className": "ElementOwnsMultiAspects"
},
"direction": "Forward"
},
"handleTargetClassPolymorphically": true,
"relationshipMeaning": "SameInstance"
}
]
}
]
},
{
"ruleType": "Content",
"condition": "ContentDisplayType = \"Graphics\" ANDALSO SelectedNode.IsOfClass(\"FunctionalElement\", \"Functional\")",
"onlyIfNotHandled": true,
"specifications": [
{
"specType": "ContentRelatedInstances",
"relationshipPaths": [
[
{
"relationship": {
"schemaName": "BisCore",
"className": "ElementOwnsChildElements"
},
"direction": "Forward",
"targetClass": {
"schemaName": "Functional",
"className": "FunctionalElement"
},
"count": "*"
},
{
"relationship": {
"schemaName": "Functional",
"className": "PhysicalElementFulfillsFunction"
},
"direction": "Backward"
},
{
"relationship": {
"schemaName": "BisCore",
"className": "ElementOwnsChildElements"
},
"direction": "Forward",
"targetClass": {
"schemaName": "BisCore",
"className": "GeometricElement"
},
"count": "*"
}
],
[
{
"relationship": {
"schemaName": "BisCore",
"className": "ElementOwnsChildElements"
},
"direction": "Forward",
"targetClass": {
"schemaName": "Functional",
"className": "FunctionalElement"
},
"count": "*"
},
{
"relationship": {
"schemaName": "Functional",
"className": "DrawingGraphicRepresentsFunctionalElement"
},
"direction": "Backward"
},
{
"relationship": {
"schemaName": "BisCore",
"className": "ElementOwnsChildElements"
},
"direction": "Forward",
"targetClass": {
"schemaName": "BisCore",
"className": "GeometricElement"
},
"count": "*"
}
]
]
}
]
}
]
}