@bentley/open-site-schema 1.0.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md ADDED
@@ -0,0 +1,9 @@
1
+ # MIT License
2
+
3
+ Copyright © 2017-2024 Bentley Systems, Incorporated. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1 @@
1
+ {"$schema":"https://dev.bentley.com/json_schemas/ec/32/ecschema","name":"OpenSite","version":"01.00.00","alias":"opnsite","label":"OpenSite","description":"OpenSite+ application schema.","references":[{"name":"CoreCustomAttributes","version":"01.00.05"},{"name":"BisCustomAttributes","version":"01.00.00"},{"name":"BisCore","version":"01.00.17"},{"name":"LinearReferencing","version":"02.00.04"},{"name":"RoadRailUnits","version":"01.00.02"}],"customAttributes":[{"className":"CoreCustomAttributes.ProductionStatus","SupportedUse":"NotForProduction"},{"className":"BisCustomAttributes.SchemaLayerInfo","Value":"Application"}],"items":{"DrivewayEndVertex_CulDeSac":{"schemaItemType":"PropertyCategory","label":"Cul-de-sac","priority":0},"DrivewayEndVertex_Flares":{"schemaItemType":"PropertyCategory","label":"Flares","priority":0},"DrivewayMidVertex_Transition":{"schemaItemType":"PropertyCategory","label":"Transition","priority":0},"ParkingSpaceVertex_Parking":{"schemaItemType":"PropertyCategory","label":"Parking","priority":0},"ParkingIslandVertex_Island":{"schemaItemType":"PropertyCategory","label":"Island","priority":0},"ParkingBayVertex_Bay":{"schemaItemType":"PropertyCategory","label":"Bay","priority":0},"ParkingAisleVertex_Aisle":{"schemaItemType":"PropertyCategory","label":"Aisle","priority":0},"ShapedEdge_LinkHeight":{"schemaItemType":"PropertyCategory","label":"Grading Link Height","priority":0},"BuildingEdge_SlopeAway":{"schemaItemType":"PropertyCategory","label":"Grading Slope Away","priority":0},"PropertyEdge_Setbacks":{"schemaItemType":"PropertyCategory","label":"Setbacks","priority":0},"CenterlinePathEdge_Grading":{"schemaItemType":"PropertyCategory","label":"Grading","priority":0},"CenterlinePathEdge_Drainage":{"schemaItemType":"PropertyCategory","label":"Drainage","priority":0},"DrivewayPathEdge_Median":{"schemaItemType":"PropertyCategory","label":"Median","priority":0},"DrivewayPathEdge_Crowning":{"schemaItemType":"PropertyCategory","label":"Crowning","priority":0},"DrivewayPathFin_Road":{"schemaItemType":"PropertyCategory","label":"Road","priority":0},"DrivewayPathFin_Shoulder":{"schemaItemType":"PropertyCategory","label":"Shoulder","priority":0},"ShapedArea_Optimizer":{"schemaItemType":"PropertyCategory","label":"Optimizer","priority":0},"ShapedArea_Constraints":{"schemaItemType":"PropertyCategory","label":"Constraints","priority":0},"ShapedArea_Surface":{"schemaItemType":"PropertyCategory","label":"Surface","priority":0},"LayoutParkingArea_Parking":{"schemaItemType":"PropertyCategory","label":"Parking","priority":0},"LayoutParkingArea_ParkingAisle":{"schemaItemType":"PropertyCategory","label":"Parking Aisle","priority":0},"LayoutParkingArea_ParkingIsland":{"schemaItemType":"PropertyCategory","label":"Parking Island","priority":0},"LayoutParkingArea_ParkingBay":{"schemaItemType":"PropertyCategory","label":"Parking Bay","priority":0},"LayoutParkingArea_ParkingGrading":{"schemaItemType":"PropertyCategory","label":"Parking Grading","priority":0},"GradingArea_Optimizer":{"schemaItemType":"PropertyCategory","label":"Optimizer","priority":0},"GradingArea_Surface":{"schemaItemType":"PropertyCategory","label":"Surface","priority":0},"GradingArea_Constraints":{"schemaItemType":"PropertyCategory","label":"Constraints","priority":0},"LayoutPondArea_Dimensions":{"schemaItemType":"PropertyCategory","label":"Dimensions","priority":0},"DrivewayPath_Direction":{"schemaItemType":"PropertyCategory","label":"Direction","priority":0},"ParkingRowPath_Parking":{"schemaItemType":"PropertyCategory","label":"Parking","priority":0},"EdgeAisleAspect_Aisle":{"schemaItemType":"PropertyCategory","label":"Aisle","priority":0},"EdgeParkingAspect_Parking":{"schemaItemType":"PropertyCategory","label":"Parking","priority":0},"EdgeSidewalkAspect_Sidewalk":{"schemaItemType":"PropertyCategory","label":"Sidewalk","priority":0},"EdgeCurbAspect_Curb":{"schemaItemType":"PropertyCategory","label":"Curb","priority":0},"EdgeOnSideParkingAspect_Parking":{"schemaItemType":"PropertyCategory","label":"OnSide Parking","priority":0},"EdgeOnSideParkingAspect_Grading":{"schemaItemType":"PropertyCategory","label":"OnSide Parking Grading","priority":0},"IslandType":{"schemaItemType":"Enumeration","label":"Island Type","description":"Describes the parking island construction type.","type":"int","isStrict":true,"enumerators":[{"name":"UNSET","value":0,"label":"Not Set"},{"name":"LANDSCAPED","value":1,"label":"Landscaped"},{"name":"RAISED_CONCRETE","value":2,"label":"Raised Concrete"},{"name":"RAISED_ASPHALT","value":3,"label":"Raised Asphalt"},{"name":"PAINTED_LINES","value":4,"label":"Painted Lines"}]},"ControlType":{"schemaItemType":"Enumeration","label":"Control Type","type":"int","isStrict":true,"enumerators":[{"name":"USER_CONTROL","value":1,"label":"User Controlled"},{"name":"COMPUTER_CONTROL","value":2,"label":"Computer Controlled"}]},"SurfaceType":{"schemaItemType":"Enumeration","label":"Surface Type","description":"Describes a design surface usage and/or material.","type":"int","isStrict":true,"enumerators":[{"name":"UNSET","value":-1,"label":"Not Set"},{"name":"NONE","value":0,"label":"None"},{"name":"LIGHT_PAVING","value":1,"label":" Light Paving"},{"name":"HEAVY_PAVING","value":2,"label":"Heavy Paving"},{"name":"LIGHT_CONCRETE","value":3,"label":"Light Concrete"},{"name":"HEAVY_CONCRETE","value":4,"label":"Heavy Concrete"},{"name":"PEDESTRIAN_CONCRETE","value":5,"label":"Pedestrian Concrete"},{"name":"LIGHT_PAVING_STREET","value":6,"label":"Light Paving Street"},{"name":"HEAVY_PAVING_STREET","value":7,"label":"Heavy Paving Street"},{"name":"LIGHT_CONCRETE_STREET","value":8,"label":"Light Concrete Street"},{"name":"HEAVY_CONCRETE_STREET","value":9,"label":"Heavy Concrete Street"},{"name":"PEDESTRIAN_ASPHALT","value":10,"label":"Pedestrian Asphalt"},{"name":"GRAVEL","value":12,"label":"Gravel"},{"name":"ALT1","value":20,"label":"Alternative One"},{"name":"ALT2","value":21,"label":"Alternative Two"},{"name":"ALT3","value":22,"label":"Alternative Three"}]},"CrownType":{"schemaItemType":"Enumeration","label":"Crown Type","description":"Describes how a road or driveway design is crowned.","type":"int","isStrict":true,"enumerators":[{"name":"CROWN","value":1,"label":"Crown"},{"name":"SHED","value":2,"label":"Shed"},{"name":"INVERT_CROWN","value":3,"label":"Inverted Crown"},{"name":"FLEXIBLE","value":4,"label":"Flexible"}]},"Vertex":{"schemaItemType":"EntityClass","label":"Vertex","modifier":"Abstract","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"Location","type":"PrimitiveProperty","typeName":"point3d"}]},"AreaVertex":{"schemaItemType":"EntityClass","label":"Area Vertex","modifier":"Sealed","baseClass":"OpenSite.Vertex","properties":[{"name":"Radius","type":"PrimitiveProperty","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"PathVertex":{"schemaItemType":"EntityClass","label":"Path Vertex","modifier":"Abstract","baseClass":"OpenSite.Vertex","properties":[{"name":"Radius","type":"PrimitiveProperty","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"PathEndVertex":{"schemaItemType":"EntityClass","label":"Path End Vertex","description":"Path Vertex that is located at the start or end of a Path, in other words, it only has a single PathEdge attached to it","baseClass":"OpenSite.Vertex"},"PathMidVertex":{"schemaItemType":"EntityClass","label":"Path Mid Vertex","description":"Path Vertex that has two PathEdge instances attached to it, in other words.","baseClass":"OpenSite.Vertex","properties":[{"name":"Radius","type":"PrimitiveProperty","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"DrivewayEndVertex":{"schemaItemType":"EntityClass","label":"Driveway End Vertex","description":"The first and last Vertex of a DrivewayPath.","modifier":"Sealed","baseClass":"OpenSite.PathEndVertex","properties":[{"name":"CuldesacRadius","type":"PrimitiveProperty","description":"Radius of cul-de-sac.","label":"Radius","category":"OpenSite.DrivewayEndVertex_CulDeSac","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CuldesacOffset","type":"PrimitiveProperty","description":"Offset of cul-de-sac, negative for left.","label":"Offset","category":"OpenSite.DrivewayEndVertex_CulDeSac","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CuldesacROWRadius","type":"PrimitiveProperty","description":"Cul-de-sac right of way entrance radius.","label":"ROW Radius","category":"OpenSite.DrivewayEndVertex_CulDeSac","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CuldesacROWReturnRadius","type":"PrimitiveProperty","description":"Cul-de-sac right of way exit radius.","label":"ROW Return Radius","category":"OpenSite.DrivewayEndVertex_CulDeSac","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"EntranceFlareRadius","type":"PrimitiveProperty","description":"Sets the size of the flared entrance radius. Exit will be defined by the drive side of the road.","label":"Entrance Radius","category":"OpenSite.DrivewayEndVertex_Flares","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ExitFlareRadius","type":"PrimitiveProperty","description":"Sets the size of the flared exit radius. Entrance will be defined by the drive side of the road.","label":"Exit Radius","category":"OpenSite.DrivewayEndVertex_Flares","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"DrivewayMidVertex":{"schemaItemType":"EntityClass","label":"Driveway Mid Vertex","description":"Vertex of a DrivewayPath that is attached to two DrivewayPathEdge instances.","modifier":"Sealed","baseClass":"OpenSite.PathMidVertex","properties":[{"name":"SideTransitionOffset","type":"PrimitiveProperty","description":"The transition offset distance.","label":"Transition Offset","category":"OpenSite.DrivewayMidVertex_Transition","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"SideTransitionRadius1","type":"PrimitiveProperty","description":"The inner radius of the transition.","label":"Transition Inner Radius","category":"OpenSite.DrivewayMidVertex_Transition","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"SideTransitionRadius2","type":"PrimitiveProperty","description":"The outer radius of the transition.","label":"Transition Outer Radius","category":"OpenSite.DrivewayMidVertex_Transition","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"ParkingVertex":{"schemaItemType":"EntityClass","label":"Parking Vertex","modifier":"Abstract","baseClass":"OpenSite.Vertex"},"ParkingSpaceVertex":{"schemaItemType":"EntityClass","label":"Parking Space Vertex","description":"Defines a location point which overrides parking space settings.","modifier":"Sealed","baseClass":"OpenSite.ParkingVertex","properties":[{"name":"ParkingNumber","type":"PrimitiveProperty","description":"Number of spaces to be overridden by a parking vertex.","label":"Number of Spaces","category":"OpenSite.ParkingSpaceVertex_Parking","typeName":"int"},{"name":"ParkingWidth","type":"PrimitiveProperty","description":"Width to be used for a parking vertex override.","label":"Space Width","category":"OpenSite.ParkingSpaceVertex_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingSurfaceType","type":"PrimitiveProperty","description":"Surface type defined by a parking vertex override.","label":"Surface Type","category":"OpenSite.ParkingSpaceVertex_Parking","typeName":"OpenSite.SurfaceType"},{"name":"ParkingMinSlope","type":"PrimitiveProperty","description":"Minimum slope defined by a parking vertex override.","label":"Min. Slope","category":"OpenSite.ParkingSpaceVertex_Parking","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"ParkingMaxSlope","type":"PrimitiveProperty","description":"Maximum slope defined by a parking vertex override.","label":"Max. Slope","category":"OpenSite.ParkingSpaceVertex_Parking","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"ParkingBayVertex":{"schemaItemType":"EntityClass","label":"Parking Bay Vertex","description":"Defines a location point to override an entire parking bay settings.","modifier":"Sealed","baseClass":"OpenSite.ParkingVertex","properties":[{"name":"BayMedianWidth","type":"PrimitiveProperty","description":"Median width defined by a bay override.","label":"Median Width","category":"OpenSite.ParkingBayVertex_Bay","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingDepth","type":"PrimitiveProperty","description":"Defines the bay override parking depth for primary side.","label":"Parking Depth Primary","category":"OpenSite.ParkingBayVertex_Bay","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingDepthOther","type":"PrimitiveProperty","description":"Defines the bay override parking depth for secondary side.","label":"Parking Depth Secondary","category":"OpenSite.ParkingBayVertex_Bay","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingAngle","type":"PrimitiveProperty","description":"Defines the bay override parking angle for primary side.","label":"Parking Angle Primary","category":"OpenSite.ParkingBayVertex_Bay","kindOfQuantity":"RoadRailUnits.ANGLE","typeName":"double"},{"name":"ParkingAngleOther","type":"PrimitiveProperty","description":"Defines the bay override parking angle for secondary side.","label":"Parking Angle Secondary","category":"OpenSite.ParkingBayVertex_Bay","kindOfQuantity":"RoadRailUnits.ANGLE","typeName":"double"}]},"ParkingAisleVertex":{"schemaItemType":"EntityClass","label":"Parking Aisle Vertex","description":"Defines a location point to override a parking aisle settings.","modifier":"Sealed","baseClass":"OpenSite.ParkingVertex","properties":[{"name":"AisleWidth","type":"PrimitiveProperty","description":"Defines the aisle override width.","label":"Aisle Width","category":"OpenSite.ParkingAisleVertex_Aisle","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"ParkingIslandVertex":{"schemaItemType":"EntityClass","label":"Parking Island Vertex","description":"Defines a location point to override a parking island settings.","modifier":"Sealed","baseClass":"OpenSite.ParkingVertex","properties":[{"name":"IslandWidth","type":"PrimitiveProperty","description":"Defines the island override for it's width.","label":"Island Width","category":"OpenSite.ParkingIslandVertex_Island","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"Edge":{"schemaItemType":"EntityClass","modifier":"Abstract","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"Order","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"int"},{"name":"StartVertex","type":"NavigationProperty","relationshipName":"OpenSite.EdgeStartsAtVertex","direction":"Forward"},{"name":"EndVertex","type":"NavigationProperty","relationshipName":"OpenSite.EdgeEndsAtVertex","direction":"Forward"}]},"EdgeStartsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..2)","roleLabel":"starts at","polymorphic":true,"constraintClasses":["OpenSite.Edge"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.Vertex"]}},"EdgeEndsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..2)","roleLabel":"ends at","polymorphic":true,"constraintClasses":["OpenSite.Edge"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.Vertex"]}},"AreaEdge":{"schemaItemType":"EntityClass","label":"Area Edge","modifier":"Abstract","baseClass":"OpenSite.Edge"},"ShapedEdge":{"schemaItemType":"EntityClass","label":"Shaped Edge","description":"Edge class for physical objects such as buildings.","modifier":"Abstract","baseClass":"OpenSite.AreaEdge","properties":[{"name":"LinkHeight","type":"PrimitiveProperty","description":"Height of an edge.","label":"Link Height","category":"OpenSite.ShapedEdge_LinkHeight","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"UseWallInCost","type":"PrimitiveProperty","description":"Treat as a wall for cost optimization.","label":"Use Wall in Cost","category":"OpenSite.ShapedEdge_LinkHeight","typeName":"boolean"}]},"PropertyEdge":{"schemaItemType":"EntityClass","label":"Property Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge","properties":[{"name":"ParkingSetback","type":"PrimitiveProperty","label":"Parking Setback","category":"OpenSite.PropertyEdge_Setbacks","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"BuildingSetback","type":"PrimitiveProperty","label":"Building Setback","category":"OpenSite.PropertyEdge_Setbacks","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"BuildingEdge":{"schemaItemType":"EntityClass","label":"Building Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge","properties":[{"name":"SlopeAway","type":"PrimitiveProperty","description":"Slope away from edge for grading.","label":"Slope Away","category":"OpenSite.BuildingEdge_SlopeAway","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"SlopeAwayDistance","type":"PrimitiveProperty","description":"Distance of the slope away from edge for grading.","label":"Slope Away Distance","category":"OpenSite.BuildingEdge_SlopeAway","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"ParkingEdge":{"schemaItemType":"EntityClass","label":"Parking Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge"},"IslandEdge":{"schemaItemType":"EntityClass","label":"Island Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge"},"SidewalkEdge":{"schemaItemType":"EntityClass","label":"Sidewalk Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge"},"DrivewayAreaEdge":{"schemaItemType":"EntityClass","label":"Driveway Area Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge"},"PondEdge":{"schemaItemType":"EntityClass","label":"Pond Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge"},"PadEdge":{"schemaItemType":"EntityClass","label":"Pad Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge"},"LayoutParkingEdge":{"schemaItemType":"EntityClass","label":"Parking Lot Edge","description":"Parking lot","modifier":"Sealed","baseClass":"OpenSite.AreaEdge"},"PathEdge":{"schemaItemType":"EntityClass","label":"Path Edge","baseClass":"OpenSite.Edge"},"CenterlinePathEdge":{"schemaItemType":"EntityClass","label":"Centerline Path Edge","description":"Centerline of a path.","baseClass":"OpenSite.PathEdge","properties":[{"name":"MinDriveSlope","type":"PrimitiveProperty","description":"Minimum path slope for design.","label":"Min. Slope","category":"OpenSite.CenterlinePathEdge_Grading","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaxDriveSlope","type":"PrimitiveProperty","description":"Maximum path slope for design.","label":"Max. Slope","category":"OpenSite.CenterlinePathEdge_Grading","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"SurfaceType","type":"PrimitiveProperty","description":"Surface material type for path.","label":"Surface Type","category":"OpenSite.CenterlinePathEdge_Grading","typeName":"OpenSite.SurfaceType"},{"name":"SurfaceDepth","type":"PrimitiveProperty","description":"Surface material depth for path.","label":"Surface Depth","category":"OpenSite.CenterlinePathEdge_Grading","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MinZ","type":"PrimitiveProperty","description":"Minimum design elevation for path.","label":"Min. Elevation","category":"OpenSite.CenterlinePathEdge_Grading","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MaxZ","type":"PrimitiveProperty","description":"Maximum design elevation for path.","label":"Max. Elevation","category":"OpenSite.CenterlinePathEdge_Grading","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"RunoffC","type":"PrimitiveProperty","description":"Runoff coefficient for path.","label":"Runoff Coefficient","category":"OpenSite.CenterlinePathEdge_Drainage","typeName":"double"}]},"DrivewayPathEdge":{"schemaItemType":"EntityClass","label":"Driveway Edge","description":"Centerline of a driveway.","modifier":"Sealed","baseClass":"OpenSite.CenterlinePathEdge","properties":[{"name":"MedianType","type":"PrimitiveProperty","description":"Median type along path.","label":"Type","category":"OpenSite.DrivewayPathEdge_Median","typeName":"OpenSite.SurfaceType"},{"name":"MedianWidth","type":"PrimitiveProperty","description":"Median width for path.","label":"Width","category":"OpenSite.DrivewayPathEdge_Median","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CrowningType","type":"PrimitiveProperty","description":"Type of crown design for path.","label":"Crown Type","category":"OpenSite.DrivewayPathEdge_Crowning","typeName":"OpenSite.CrownType"},{"name":"KValueSag","type":"PrimitiveProperty","description":"Design K-Value for sag vertical curves.","label":"Sag K Value","category":"OpenSite.DrivewayPathEdge_Crowning","typeName":"double"},{"name":"KValueSummit","type":"PrimitiveProperty","description":"Design K-Value for crest vertical curves.","label":"Crest K Value","category":"OpenSite.DrivewayPathEdge_Crowning","typeName":"double"}],"mixins":["BisCore.IParentElement"]},"DrivewayPathFin":{"schemaItemType":"EntityClass","label":"Driveway Fin","description":"One of two sides to a Driveway Path Edge.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"IsPrimary","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"boolean"},{"name":"CrossSlope","type":"PrimitiveProperty","description":"Cross slope for this side of driveway.","label":"Cross Slope","category":"OpenSite.DrivewayPathFin_Road","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"DrivewayWidth","type":"PrimitiveProperty","description":"Driveway width on this side.","label":"Driveway Width","category":"OpenSite.DrivewayPathFin_Road","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ShoulderWidth","type":"PrimitiveProperty","description":"Width of shoulder on this side of driveway.","label":"Shoulder Width","category":"OpenSite.DrivewayPathFin_Shoulder","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ShoulderSlope","type":"PrimitiveProperty","description":"Slope of shoulder on this side of driveway.","label":"Shoulder Slope","category":"OpenSite.DrivewayPathFin_Shoulder","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"DitchOffset","type":"PrimitiveProperty","description":"Offset to ditch on this side of driveway.","label":"Ditch Offset","category":"OpenSite.DrivewayPathFin_Shoulder","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"DitchSlope","type":"PrimitiveProperty","description":"Ditch slope for this side of driveway.","label":"Ditch Slope","category":"OpenSite.DrivewayPathFin_Shoulder","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"SidewalkPathEdge":{"schemaItemType":"EntityClass","label":"Sidewalk Path Edge","description":"Sidewalk path edge.","modifier":"Sealed","baseClass":"OpenSite.CenterlinePathEdge"},"ParkingDirectionPathEdge":{"schemaItemType":"EntityClass","label":"Parking Direction Path Edge","description":"Parking direction path edge.","modifier":"Sealed","baseClass":"OpenSite.PathEdge"},"Wire":{"schemaItemType":"EntityClass","modifier":"Abstract","baseClass":"BisCore.SpatialLocationElement","mixins":["BisCore.IParentElement"]},"LayoutParkingAreaOwnsIslandAreas":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.IslandArea"]}},"LayoutParkingArea":{"schemaItemType":"EntityClass","label":"Layout Parking Area","description":"Layout parking area.","modifier":"Sealed","baseClass":"OpenSite.LayoutArea","properties":[{"name":"ControlType","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"OpenSite.ControlType"},{"name":"ParkingWidth","type":"PrimitiveProperty","description":"Parking space width.","label":"Width","category":"OpenSite.LayoutParkingArea_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingDepth","type":"PrimitiveProperty","description":"Parking space depth.","label":"Depth","category":"OpenSite.LayoutParkingArea_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingAngle","type":"PrimitiveProperty","description":"Parking space angle.","label":"Angle","category":"OpenSite.LayoutParkingArea_Parking","kindOfQuantity":"RoadRailUnits.ANGLE","typeName":"double"},{"name":"ParkingSpaces","type":"PrimitiveProperty","description":"Number of spaces.","label":"Parking Spaces","category":"OpenSite.LayoutParkingArea_Parking","typeName":"int"},{"name":"ProblemSpaces","type":"PrimitiveProperty","description":"Number of problematic spaces.","label":"Problem Spaces","category":"OpenSite.LayoutParkingArea_Parking","typeName":"int"},{"name":"AisleWidth","type":"PrimitiveProperty","description":"Parking aisle width.","label":"Width","category":"OpenSite.LayoutParkingArea_ParkingAisle","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingPerIsland","type":"PrimitiveProperty","description":"Number of parking spaces between islands.","label":"Count Per Island","category":"OpenSite.LayoutParkingArea_ParkingIsland","typeName":"int"},{"name":"MinIslandWidth","type":"PrimitiveProperty","description":"Minimum parking island width.","label":"Minimum Width","category":"OpenSite.LayoutParkingArea_ParkingIsland","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"IslandType","type":"PrimitiveProperty","description":"Island type or material.","label":"Type","category":"OpenSite.LayoutParkingArea_ParkingIsland","typeName":"OpenSite.IslandType"},{"name":"IslandCurbRadius","type":"PrimitiveProperty","description":"Island curb radius.","label":"Curb Radius","category":"OpenSite.LayoutParkingArea_ParkingIsland","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"BayCurbRadius","type":"PrimitiveProperty","description":"Parking bay curb radius.","label":"Curb Radius","category":"OpenSite.LayoutParkingArea_ParkingBay","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MinSlopeParkingLot","type":"PrimitiveProperty","description":"Minimum design slope for parking lot.","label":"Min. Design Slope","category":"OpenSite.LayoutParkingArea_ParkingGrading","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaxSlopeParkingLot","type":"PrimitiveProperty","description":"Maximum design slope for parking lot.","label":"Max. Design Slope","category":"OpenSite.LayoutParkingArea_ParkingGrading","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"SurfaceTypeParkingLot","type":"PrimitiveProperty","description":"Surface type or material for parking lot.","label":"Surface Type","category":"OpenSite.LayoutParkingArea_ParkingGrading","typeName":"OpenSite.SurfaceType"},{"name":"SurfaceDepthParkingLot","type":"PrimitiveProperty","description":"Surface or material depth.","label":"Surface Depth","category":"OpenSite.LayoutParkingArea_ParkingGrading","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"SurfaceTypeParkingSpaces","type":"PrimitiveProperty","description":"Surface type or material for specific parking spaces.","label":"Space Surface Type","category":"OpenSite.LayoutParkingArea_ParkingGrading","typeName":"OpenSite.SurfaceType"},{"name":"SurfaceDepthParkingSpaces","type":"PrimitiveProperty","description":"Surface or material depth for specific parking spaces.","label":"Space Surface Depth","category":"OpenSite.LayoutParkingArea_ParkingGrading","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"LayoutArea":{"schemaItemType":"EntityClass","label":"Layout Area","description":"Layout Area","modifier":"Abstract","baseClass":"OpenSite.Area"},"Area":{"schemaItemType":"EntityClass","label":"Area","description":"Area","modifier":"Abstract","baseClass":"OpenSite.Wire"},"IslandArea":{"schemaItemType":"EntityClass","label":"Island Area","description":"Island Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"ShapedArea":{"schemaItemType":"EntityClass","label":"Shaped Area","description":"Shaped area","modifier":"Abstract","baseClass":"OpenSite.Area","properties":[{"name":"DoGrade","type":"PrimitiveProperty","description":"Add area grading data to grading optimizer.","label":"Grading","category":"OpenSite.ShapedArea_Optimizer","typeName":"boolean"},{"name":"Topsoil","type":"PrimitiveProperty","description":"Depth of topsoil.","label":"Topsoil","category":"OpenSite.ShapedArea_Surface","typeName":"double"},{"name":"SurfaceType","type":"PrimitiveProperty","description":"Type definition of area.","label":"Surface Type","category":"OpenSite.ShapedArea_Surface","typeName":"OpenSite.SurfaceType"},{"name":"SurfaceDepth","type":"PrimitiveProperty","description":"Material depth of area.","label":"Surface Depth","category":"OpenSite.ShapedArea_Surface","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"RunoffCoefficient","type":"PrimitiveProperty","description":"Runoff coefficient for area.","label":"Runoff Coefficient","category":"OpenSite.ShapedArea_Surface","typeName":"double"},{"name":"MinSlope","type":"PrimitiveProperty","description":"Minimum design slope for area.","label":"Min. Slope","category":"OpenSite.ShapedArea_Constraints","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaxSlope","type":"PrimitiveProperty","description":"Maximum design slope for area.","label":"Max. Slope","category":"OpenSite.ShapedArea_Constraints","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MinZ","type":"PrimitiveProperty","description":"Minimum design elevation for area.","label":"Min. Elevation","category":"OpenSite.ShapedArea_Constraints","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MaxZ","type":"PrimitiveProperty","description":"Maximum design elevation for area.","label":"Max. Elevation","category":"OpenSite.ShapedArea_Constraints","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"LayoutParkingAreaOwnsParkingRows":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ParkingRowPath"]}},"ParkingRowPath":{"schemaItemType":"EntityClass","label":"Parking Row Path","description":"Parking row path.","modifier":"Sealed","baseClass":"OpenSite.LayoutPath","properties":[{"name":"ParkingWidth","type":"PrimitiveProperty","description":"Parking width for row.","label":"Width","category":"OpenSite.ParkingRowPath_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingDepth","type":"PrimitiveProperty","description":"Parking depth for row.","label":"Depth","category":"OpenSite.ParkingRowPath_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingAngle","type":"PrimitiveProperty","description":"Parking angle for row.","label":"Angle","category":"OpenSite.ParkingRowPath_Parking","kindOfQuantity":"RoadRailUnits.ANGLE","typeName":"double"}]},"LayoutPath":{"schemaItemType":"EntityClass","label":"Layout Path","description":"Layout path.","modifier":"Abstract","baseClass":"OpenSite.Path"},"Path":{"schemaItemType":"EntityClass","label":"Path","modifier":"Abstract","baseClass":"OpenSite.Wire"},"LayoutParkingAreaOwnsParkingArea":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ParkingArea"]}},"ParkingArea":{"schemaItemType":"EntityClass","label":"Parking Area","description":"Parking Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"BuildingAreaOwnsSidewalks":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.BuildingArea"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.SidewalkArea"]}},"BuildingArea":{"schemaItemType":"EntityClass","label":"Building Area","description":"Building Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea","properties":[{"name":"ControlType","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"OpenSite.ControlType"}]},"SidewalkArea":{"schemaItemType":"EntityClass","label":"Sidewalk Area","description":"Sidewalk Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"DrivewayPathOwnsDrivewayAreas":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPath"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.DrivewayArea"]}},"DrivewayPath":{"schemaItemType":"EntityClass","label":"Driveway","description":"Driveway path.","modifier":"Sealed","baseClass":"OpenSite.LayoutPath","properties":[{"name":"ControlType","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"OpenSite.ControlType"},{"name":"DriveOnRight","type":"PrimitiveProperty","description":"Sets the primary drive side, true to drive on the right-hand side.","label":"Drive On Right","category":"OpenSite.DrivewayPath_Direction","typeName":"boolean"}],"mixins":["LinearReferencing.ILinearElementSource","BisCore.IParentElement"]},"DrivewayArea":{"schemaItemType":"EntityClass","label":"Driveway Area","description":"Driveway Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"DrivewayPathOwnsSidewalks":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPath"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.SidewalkArea"]}},"DrivewayPathOwnsParkingAreas":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPath"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ParkingArea"]}},"DrivewayPathOwnsParkingRows":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPath"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ParkingRowPath"]}},"DrivewayPathOwnsBreaklines":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPath"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.BreaklinePath"]}},"BreaklinePath":{"schemaItemType":"EntityClass","label":"Breakline Path","description":"Breakline path.","modifier":"Sealed","baseClass":"OpenSite.GradingPath"},"GradingPath":{"schemaItemType":"EntityClass","label":"Grading Path","description":"Grading path.","modifier":"Abstract","baseClass":"OpenSite.Path"},"DrivewayPathEdgeOwnsFins":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPathEdge"]},"target":{"multiplicity":"(2..2)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPathFin"]}},"WireOwnsVertices":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.Wire"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["OpenSite.Vertex"]}},"WireOwnsEdges":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.Wire"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["OpenSite.Edge"]}},"LayoutParkingAreaOwnsParkingDirectionPath":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ParkingDirectionPath"]}},"ParkingDirectionPath":{"schemaItemType":"EntityClass","label":"Parking Direction Path","description":"Parking direction path.","modifier":"Sealed","baseClass":"OpenSite.LayoutPath"},"LayoutParkingAreaOwnsParkingVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ParkingVertex"]}},"PropertyArea":{"schemaItemType":"EntityClass","label":"Property Area","description":"Property Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"PadArea":{"schemaItemType":"EntityClass","label":"Pad Area","description":"Pad Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"LayoutPondArea":{"schemaItemType":"EntityClass","label":"Pond Area","description":"Layout pond area.","modifier":"Sealed","baseClass":"OpenSite.LayoutArea","properties":[{"name":"Height","type":"PrimitiveProperty","description":"Height of the pond.","label":"Height","category":"OpenSite.LayoutPondArea_Dimensions","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"Depth","type":"PrimitiveProperty","description":"Depth of the pond.","label":"Depth","category":"OpenSite.LayoutPondArea_Dimensions","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"GradingArea":{"schemaItemType":"EntityClass","label":"Grading Area","description":"Grading area.","modifier":"Abstract","baseClass":"OpenSite.Area","properties":[{"name":"DoGrade","type":"PrimitiveProperty","label":"Grading","category":"OpenSite.GradingArea_Optimizer","typeName":"boolean"},{"name":"Topsoil","type":"PrimitiveProperty","description":"Topsoil depth for grading area.","label":"Topsoil","category":"OpenSite.GradingArea_Surface","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"SurfaceType","type":"PrimitiveProperty","description":"Surface type or material for grading area.","label":"Surface Type","category":"OpenSite.GradingArea_Surface","typeName":"OpenSite.SurfaceType"},{"name":"SurfaceDepth","type":"PrimitiveProperty","description":"Surface or material depth for grading area.","label":"Surface Depth","category":"OpenSite.GradingArea_Surface","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MinSlope","type":"PrimitiveProperty","description":"Minimum slope constraint on grading area.","label":"Min. Slope","category":"OpenSite.GradingArea_Constraints","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaxSlope","type":"PrimitiveProperty","description":"Maximum slope constraint on grading area.","label":"Max. Slope","category":"OpenSite.GradingArea_Constraints","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MinZ","type":"PrimitiveProperty","description":"Minimum elevation change constraint on grading area.","label":"Min. Elevation","category":"OpenSite.GradingArea_Constraints","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MaxZ","type":"PrimitiveProperty","description":"Maximum elevation change constraint on grading area.","label":"Max. Elevation","category":"OpenSite.GradingArea_Constraints","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"GradingLimitArea":{"schemaItemType":"EntityClass","label":"Grading Limit Area","description":"Grading limit area.","modifier":"Sealed","baseClass":"OpenSite.GradingArea"},"SidewalkPath":{"schemaItemType":"EntityClass","label":"Sidewalk Path","description":"Sidewalk path.","modifier":"Sealed","baseClass":"OpenSite.LayoutPath"},"ContourLinesAspect":{"schemaItemType":"EntityClass","label":"Contour Lines","description":"Terrain contour lines","modifier":"Sealed","baseClass":"BisCore.ElementUniqueAspect","properties":[{"name":"MinorStep","type":"PrimitiveProperty","description":"Minor steps interval size","label":"Minor Step","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MajorStepMultiple","type":"PrimitiveProperty","description":"Number of minor intervals between two major steps","label":"Major Step Interval","typeName":"int"}]},"WireOwnsContourLinesAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.Wire"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ContourLinesAspect"]}},"EdgeParkingAspect":{"schemaItemType":"EntityClass","label":"Parking","description":"","modifier":"Sealed","baseClass":"BisCore.ElementUniqueAspect","properties":[{"name":"ParkingWidth","type":"PrimitiveProperty","description":"Parking space width.","label":"Parking Width","category":"OpenSite.EdgeParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingDepth","type":"PrimitiveProperty","description":"Parking space depth.","label":"Parking Depth","category":"OpenSite.EdgeParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"ParkingAngle","type":"PrimitiveProperty","description":"Parking space angle.","label":"Parking Angle","category":"OpenSite.EdgeParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.ANGLE","typeName":"double"},{"name":"MaxParkingOffset","type":"PrimitiveProperty","label":"Max. Parking Offset","category":"OpenSite.EdgeParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"IgnoreProblems","type":"PrimitiveProperty","label":"Ignore Problems","category":"OpenSite.EdgeParkingAspect_Parking","typeName":"boolean"},{"name":"ParksPerIsland","type":"PrimitiveProperty","description":"Parking space count between islands.","label":"Count Per Island","category":"OpenSite.EdgeParkingAspect_Parking","typeName":"int"},{"name":"IslandWidth","type":"PrimitiveProperty","description":"Width of parking islands.","label":"Island Width","category":"OpenSite.EdgeParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"IslandCurbRadius","type":"PrimitiveProperty","description":"Curb radius for parking islands.","label":"Island Curb Radius","category":"OpenSite.EdgeParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"PropertyEdgeOwnsParkingAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.PropertyEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeParkingAspect"]}},"BuildingEdgeOwnsParkingAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.BuildingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeParkingAspect"]}},"IslandEdgeOwnsParkingAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.IslandEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeParkingAspect"]}},"PadEdgeOwnsParkingAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.PadEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeParkingAspect"]}},"LayoutParkingEdgeOwnsParkingAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeParkingAspect"]}},"EdgeOnSideParkingAspect":{"schemaItemType":"EntityClass","label":"Onside Parking","description":"","modifier":"Sealed","baseClass":"BisCore.ElementUniqueAspect","properties":[{"name":"OnSideParkingWidth","type":"PrimitiveProperty","description":"Onside parking space width for this side of driveway.","label":"Onside Parking Width","category":"OpenSite.EdgeOnSideParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"OnSideParkingDepth","type":"PrimitiveProperty","description":"Onside parking space depth for this side of driveway.","label":"Onside Parking Depth","category":"OpenSite.EdgeOnSideParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"OnSideParkingAngle","type":"PrimitiveProperty","description":"Onside parking space angle for this side of driveway.","label":"Onside Parking Angle","category":"OpenSite.EdgeOnSideParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.ANGLE","typeName":"double"},{"name":"OnSideParksPerIsland","type":"PrimitiveProperty","description":"Onside parking space count per island on this side of driveway.","label":"Onside Parks Per Island","category":"OpenSite.EdgeOnSideParkingAspect_Parking","typeName":"int"},{"name":"OnSideIslandWidth","type":"PrimitiveProperty","description":"Onside parking island width for this side of driveway.","label":"Onside Island Width","category":"OpenSite.EdgeOnSideParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"OnSideIslandCurbRadius","type":"PrimitiveProperty","description":"Onside parking island curb radius for this side of driveway.","label":"Onside Curb Radius","category":"OpenSite.EdgeOnSideParkingAspect_Parking","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"OnSideParkingSurfaceType","type":"PrimitiveProperty","description":"Onside parking surface type for this side of driveway.","label":"Onside Surface Type","category":"OpenSite.EdgeOnSideParkingAspect_Grading","typeName":"OpenSite.SurfaceType"},{"name":"OnSideParkingSurfaceDepth","type":"PrimitiveProperty","description":"Onside parking material depth for this side of driveway.","label":"Onside Surface Depth","category":"OpenSite.EdgeOnSideParkingAspect_Grading","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"OnSideParkingMinSlope","type":"PrimitiveProperty","description":"Onside parking minimum design slope for this side of driveway.","label":"Onside Parking Min. Slope","category":"OpenSite.EdgeOnSideParkingAspect_Grading","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"OnSideParkingMaxSlope","type":"PrimitiveProperty","description":"Onside parking maximum design slope for this side of driveway.","label":"Onside Parking Max. Slope","category":"OpenSite.EdgeOnSideParkingAspect_Grading","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"DrivewayPathFinOwnsOnSideParkingAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPathFin"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeOnSideParkingAspect"]}},"EdgeSidewalkAspect":{"schemaItemType":"EntityClass","label":"Sidewalk","description":"","modifier":"Sealed","baseClass":"BisCore.ElementUniqueAspect","properties":[{"name":"SidewalkType","type":"PrimitiveProperty","description":"Defines the type of sidewalk or material.","label":"Type","category":"OpenSite.EdgeSidewalkAspect_Sidewalk","typeName":"OpenSite.SurfaceType"},{"name":"SidewalkWidth","type":"PrimitiveProperty","description":"Width of sidewalk.","label":"Width","category":"OpenSite.EdgeSidewalkAspect_Sidewalk","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"SidewalkOffset","type":"PrimitiveProperty","description":"Offset distance for sidewalk.","label":"Offset","category":"OpenSite.EdgeSidewalkAspect_Sidewalk","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"SidewalkDepth","type":"PrimitiveProperty","description":"Depth of sidewalk material.","label":"Depth","category":"OpenSite.EdgeSidewalkAspect_Sidewalk","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MinSidewalkSlope","type":"PrimitiveProperty","description":"Minimum allowable sidewalk slope.","label":"Min. Slope","category":"OpenSite.EdgeSidewalkAspect_Sidewalk","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaxSidewalkSlope","type":"PrimitiveProperty","description":"Maximum allowable sidewalk slope.","label":"Max. Slope","category":"OpenSite.EdgeSidewalkAspect_Sidewalk","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"BuildingEdgeOwnsSidewalkAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.BuildingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeSidewalkAspect"]}},"LayoutParkingEdgeOwnsSidewalkAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeSidewalkAspect"]}},"DrivewayPathFinOwnsSidewalkAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPathFin"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeSidewalkAspect"]}},"EdgeCurbAspect":{"schemaItemType":"EntityClass","label":"Curb","description":"","modifier":"Sealed","baseClass":"BisCore.ElementUniqueAspect","properties":[{"name":"CurbHeight","type":"PrimitiveProperty","description":"Height of the curb.","label":"Curb Height","category":"OpenSite.EdgeCurbAspect_Curb","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"BuildingEdgeOwnsCurbAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.BuildingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeCurbAspect"]}},"ParkingEdgeOwnsCurbAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.ParkingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeCurbAspect"]}},"IslandEdgeOwnsCurbAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.IslandEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeCurbAspect"]}},"SidewalkEdgeOwnsCurbAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.SidewalkEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeCurbAspect"]}},"DrivewayAreaEdgeOwnsCurbAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayAreaEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeCurbAspect"]}},"PadEdgeOwnsCurbAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.PadEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeCurbAspect"]}},"LayoutParkingEdgeOwnsCurbAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeCurbAspect"]}},"DrivewayPathFinOwnsCurbAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPathFin"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeCurbAspect"]}},"EdgeAisleAspect":{"schemaItemType":"EntityClass","label":"Aisle","description":"","modifier":"Sealed","baseClass":"BisCore.ElementUniqueAspect","properties":[{"name":"AisleWidth","type":"PrimitiveProperty","description":"Aisle width for parking.","label":"Aisle Width","category":"OpenSite.EdgeAisleAspect_Aisle","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"PropertyEdgeOwnsAisleAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.PropertyEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeAisleAspect"]}},"BuildingEdgeOwnsAisleAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.BuildingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeAisleAspect"]}},"IslandEdgeOwnsAisleAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.IslandEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeAisleAspect"]}},"PadEdgeOwnsAisleAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.PadEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeAisleAspect"]}},"LayoutParkingEdgeOwnsAisleAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingEdge"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.EdgeAisleAspect"]}}}}
@@ -0,0 +1,925 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- ==================================================================================
3
+ | * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ | * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ ======================================================================================= -->
6
+ <ECSchema schemaName="OpenSite" alias="opnsite" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2" displayLabel="OpenSite" description="OpenSite+ application schema.">
7
+ <ECSchemaReference name="CoreCustomAttributes" version="01.00.03" alias="CoreCA" />
8
+ <ECSchemaReference name="BisCustomAttributes" version="01.00.00" alias="bisCA"/>
9
+ <ECSchemaReference name="BisCore" version="01.00.10" alias="bis" />
10
+ <ECSchemaReference name="LinearReferencing" version="02.00.03" alias="lr" />
11
+ <ECSchemaReference name="RoadRailUnits" version="01.00.01" alias="rru" />
12
+
13
+ <ECCustomAttributes>
14
+ <ProductionStatus xmlns="CoreCustomAttributes.01.00.03">
15
+ <SupportedUse>NotForProduction</SupportedUse>
16
+ </ProductionStatus>
17
+ <SchemaLayerInfo xmlns="BisCustomAttributes.01.00.00">
18
+ <Value>Application</Value>
19
+ </SchemaLayerInfo>
20
+ </ECCustomAttributes>
21
+
22
+ <PropertyCategory typeName="DrivewayEndVertex_CulDeSac" displayLabel="Cul-de-sac" priority="0" />
23
+ <PropertyCategory typeName="DrivewayEndVertex_Flares" displayLabel="Flares" priority="0" />
24
+ <PropertyCategory typeName="DrivewayMidVertex_Transition" displayLabel="Transition" priority="0" />
25
+ <PropertyCategory typeName="ParkingSpaceVertex_Parking" displayLabel="Parking" priority="0" />
26
+ <PropertyCategory typeName="ParkingIslandVertex_Island" displayLabel="Island" priority="0" />
27
+ <PropertyCategory typeName="ParkingBayVertex_Bay" displayLabel="Bay" priority="0" />
28
+ <PropertyCategory typeName="ParkingAisleVertex_Aisle" displayLabel="Aisle" priority="0" />
29
+
30
+ <PropertyCategory typeName="ShapedEdge_LinkHeight" displayLabel="Grading Link Height" priority="0" />
31
+ <PropertyCategory typeName="BuildingEdge_SlopeAway" displayLabel="Grading Slope Away" priority="0" />
32
+ <PropertyCategory typeName="PropertyEdge_Setbacks" displayLabel="Setbacks" priority="0" />
33
+ <PropertyCategory typeName="CenterlinePathEdge_Grading" displayLabel="Grading" priority="0" />
34
+ <PropertyCategory typeName="CenterlinePathEdge_Drainage" displayLabel="Drainage" priority="0" />
35
+ <PropertyCategory typeName="DrivewayPathEdge_Median" displayLabel="Median" priority="0" />
36
+ <PropertyCategory typeName="DrivewayPathEdge_Crowning" displayLabel="Crowning" priority="0" />
37
+ <PropertyCategory typeName="DrivewayPathFin_Road" displayLabel="Road" priority="0" />
38
+ <PropertyCategory typeName="DrivewayPathFin_Shoulder" displayLabel="Shoulder" priority="0" />
39
+
40
+ <PropertyCategory typeName="ShapedArea_Optimizer" displayLabel="Optimizer" priority="0" />
41
+ <PropertyCategory typeName="ShapedArea_Constraints" displayLabel="Constraints" priority="0" />
42
+ <PropertyCategory typeName="ShapedArea_Surface" displayLabel="Surface" priority="0" />
43
+ <PropertyCategory typeName="LayoutParkingArea_Parking" displayLabel="Parking" priority="0" />
44
+ <PropertyCategory typeName="LayoutParkingArea_ParkingAisle" displayLabel="Parking Aisle" priority="0" />
45
+ <PropertyCategory typeName="LayoutParkingArea_ParkingIsland" displayLabel="Parking Island" priority="0" />
46
+ <PropertyCategory typeName="LayoutParkingArea_ParkingBay" displayLabel="Parking Bay" priority="0" />
47
+ <PropertyCategory typeName="LayoutParkingArea_ParkingGrading" displayLabel="Parking Grading" priority="0" />
48
+ <PropertyCategory typeName="GradingArea_Optimizer" displayLabel="Optimizer" priority="0" />
49
+ <PropertyCategory typeName="GradingArea_Surface" displayLabel="Surface" priority="0" />
50
+ <PropertyCategory typeName="GradingArea_Constraints" displayLabel="Constraints" priority="0" />
51
+ <PropertyCategory typeName="LayoutPondArea_Dimensions" displayLabel="Dimensions" priority="0" />
52
+
53
+ <PropertyCategory typeName="DrivewayPath_Direction" displayLabel="Direction" priority="0" />
54
+ <PropertyCategory typeName="ParkingRowPath_Parking" displayLabel="Parking" priority="0" />
55
+
56
+ <PropertyCategory typeName="EdgeAisleAspect_Aisle" displayLabel="Aisle" priority="0" />
57
+ <PropertyCategory typeName="EdgeParkingAspect_Parking" displayLabel="Parking" priority="0" />
58
+ <PropertyCategory typeName="EdgeSidewalkAspect_Sidewalk" displayLabel="Sidewalk" priority="0" />
59
+ <PropertyCategory typeName="EdgeCurbAspect_Curb" displayLabel="Curb" priority="0" />
60
+ <PropertyCategory typeName="EdgeOnSideParkingAspect_Parking" displayLabel="OnSide Parking" priority="0" />
61
+ <PropertyCategory typeName="EdgeOnSideParkingAspect_Grading" displayLabel="OnSide Parking Grading" priority="0" />
62
+
63
+ <ECEnumeration typeName="IslandType" backingTypeName="int" isStrict="true" displayLabel="Island Type" description="Describes the parking island construction type.">
64
+ <ECEnumerator value="0" name="UNSET" displayLabel="Not Set" />
65
+ <ECEnumerator value="1" name="LANDSCAPED" displayLabel="Landscaped" />
66
+ <ECEnumerator value="2" name="RAISED_CONCRETE" displayLabel="Raised Concrete" />
67
+ <ECEnumerator value="3" name="RAISED_ASPHALT" displayLabel="Raised Asphalt" />
68
+ <ECEnumerator value="4" name="PAINTED_LINES" displayLabel="Painted Lines" />
69
+ </ECEnumeration>
70
+
71
+ <ECEnumeration typeName="ControlType" backingTypeName="int" isStrict="true" displayLabel="Control Type">
72
+ <ECEnumerator value="1" name="USER_CONTROL" displayLabel="User Controlled" />
73
+ <ECEnumerator value="2" name="COMPUTER_CONTROL" displayLabel="Computer Controlled" />
74
+ </ECEnumeration>
75
+
76
+ <ECEnumeration typeName="SurfaceType" backingTypeName="int" isStrict="true" displayLabel="Surface Type" description="Describes a design surface usage and/or material.">
77
+ <ECEnumerator value="-1" name="UNSET" displayLabel="Not Set" />
78
+ <ECEnumerator value="0" name="NONE" displayLabel="None" />
79
+ <ECEnumerator value="1" name="LIGHT_PAVING" displayLabel=" Light Paving" />
80
+ <ECEnumerator value="2" name="HEAVY_PAVING" displayLabel="Heavy Paving" />
81
+ <ECEnumerator value="3" name="LIGHT_CONCRETE" displayLabel="Light Concrete" />
82
+ <ECEnumerator value="4" name="HEAVY_CONCRETE" displayLabel="Heavy Concrete" />
83
+ <ECEnumerator value="5" name="PEDESTRIAN_CONCRETE" displayLabel="Pedestrian Concrete" />
84
+ <ECEnumerator value="6" name="LIGHT_PAVING_STREET" displayLabel="Light Paving Street" />
85
+ <ECEnumerator value="7" name="HEAVY_PAVING_STREET" displayLabel="Heavy Paving Street" />
86
+ <ECEnumerator value="8" name="LIGHT_CONCRETE_STREET" displayLabel="Light Concrete Street" />
87
+ <ECEnumerator value="9" name="HEAVY_CONCRETE_STREET" displayLabel="Heavy Concrete Street" />
88
+ <ECEnumerator value="10" name="PEDESTRIAN_ASPHALT" displayLabel="Pedestrian Asphalt" />
89
+ <ECEnumerator value="12" name="GRAVEL" displayLabel="Gravel" />
90
+ <ECEnumerator value="20" name="ALT1" displayLabel="Alternative One" />
91
+ <ECEnumerator value="21" name="ALT2" displayLabel="Alternative Two" />
92
+ <ECEnumerator value="22" name="ALT3" displayLabel="Alternative Three" />
93
+ </ECEnumeration>
94
+
95
+ <ECEnumeration typeName="CrownType" backingTypeName="int" isStrict="true" displayLabel="Crown Type" description="Describes how a road or driveway design is crowned.">
96
+ <ECEnumerator value="1" name="CROWN" displayLabel="Crown" />
97
+ <ECEnumerator value="2" name="SHED" displayLabel="Shed" />
98
+ <ECEnumerator value="3" name="INVERT_CROWN" displayLabel="Inverted Crown" />
99
+ <ECEnumerator value="4" name="FLEXIBLE" displayLabel="Flexible" />
100
+ </ECEnumeration>
101
+
102
+ <ECEntityClass typeName="Vertex" modifier="Abstract" displayLabel="Vertex">
103
+ <BaseClass>bis:SpatialLocationElement</BaseClass>
104
+
105
+ <ECProperty propertyName="Location" typeName="Point3d" />
106
+ </ECEntityClass>
107
+
108
+ <ECEntityClass typeName="AreaVertex" modifier="Sealed" displayLabel="Area Vertex">
109
+ <BaseClass>Vertex</BaseClass>
110
+
111
+ <ECProperty propertyName="Radius" typeName="double" kindOfQuantity="rru:LENGTH" />
112
+ </ECEntityClass>
113
+
114
+ <ECEntityClass typeName="PathVertex" modifier="Abstract" displayLabel="Path Vertex">
115
+ <BaseClass>Vertex</BaseClass>
116
+
117
+ <ECProperty propertyName="Radius" typeName="double" kindOfQuantity="rru:LENGTH" />
118
+ </ECEntityClass>
119
+
120
+ <ECEntityClass typeName="PathEndVertex" modifier="None" displayLabel="Path End Vertex" description="Path Vertex that is located at the start or end of a Path, in other words, it only has a single PathEdge attached to it">
121
+ <BaseClass>Vertex</BaseClass>
122
+ </ECEntityClass>
123
+
124
+ <ECEntityClass typeName="PathMidVertex" modifier="None" displayLabel="Path Mid Vertex" description="Path Vertex that has two PathEdge instances attached to it, in other words.">
125
+ <BaseClass>Vertex</BaseClass>
126
+
127
+ <ECProperty propertyName="Radius" typeName="double" kindOfQuantity="rru:LENGTH" />
128
+ </ECEntityClass>
129
+
130
+ <ECEntityClass typeName="DrivewayEndVertex" modifier="Sealed" displayLabel="Driveway End Vertex" description="The first and last Vertex of a DrivewayPath.">
131
+ <BaseClass>PathEndVertex</BaseClass>
132
+
133
+ <ECProperty propertyName="CuldesacRadius" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayEndVertex_CulDeSac" displayLabel="Radius" description="Radius of cul-de-sac." />
134
+ <ECProperty propertyName="CuldesacOffset" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayEndVertex_CulDeSac" displayLabel="Offset" description="Offset of cul-de-sac, negative for left." />
135
+ <ECProperty propertyName="CuldesacROWRadius" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayEndVertex_CulDeSac" displayLabel="ROW Radius" description="Cul-de-sac right of way entrance radius." />
136
+ <ECProperty propertyName="CuldesacROWReturnRadius" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayEndVertex_CulDeSac" displayLabel="ROW Return Radius" description="Cul-de-sac right of way exit radius." />
137
+
138
+ <ECProperty propertyName="EntranceFlareRadius" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayEndVertex_Flares" displayLabel="Entrance Radius" description="Sets the size of the flared entrance radius. Exit will be defined by the drive side of the road." />
139
+ <ECProperty propertyName="ExitFlareRadius" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayEndVertex_Flares" displayLabel="Exit Radius" description="Sets the size of the flared exit radius. Entrance will be defined by the drive side of the road." />
140
+ </ECEntityClass>
141
+
142
+ <ECEntityClass typeName="DrivewayMidVertex" modifier="Sealed" displayLabel="Driveway Mid Vertex" description="Vertex of a DrivewayPath that is attached to two DrivewayPathEdge instances.">
143
+ <BaseClass>PathMidVertex</BaseClass>
144
+
145
+ <ECProperty propertyName="SideTransitionOffset" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayMidVertex_Transition" displayLabel="Transition Offset" description="The transition offset distance." />
146
+ <ECProperty propertyName="SideTransitionRadius1" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayMidVertex_Transition" displayLabel="Transition Inner Radius" description="The inner radius of the transition." />
147
+ <ECProperty propertyName="SideTransitionRadius2" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayMidVertex_Transition" displayLabel="Transition Outer Radius" description="The outer radius of the transition." />
148
+ </ECEntityClass>
149
+
150
+ <ECEntityClass typeName="ParkingVertex" modifier="Abstract" displayLabel="Parking Vertex">
151
+ <BaseClass>Vertex</BaseClass>
152
+ </ECEntityClass>
153
+
154
+ <ECEntityClass typeName="ParkingSpaceVertex" modifier="Sealed" displayLabel="Parking Space Vertex" description="Defines a location point which overrides parking space settings.">
155
+ <BaseClass>ParkingVertex</BaseClass>
156
+
157
+ <ECProperty propertyName="ParkingNumber" typeName="int" category="ParkingSpaceVertex_Parking" displayLabel="Number of Spaces" description="Number of spaces to be overridden by a parking vertex." />
158
+ <ECProperty propertyName="ParkingWidth" typeName="double" category="ParkingSpaceVertex_Parking" kindOfQuantity="rru:LENGTH" displayLabel="Space Width" description="Width to be used for a parking vertex override." />
159
+ <ECProperty propertyName="ParkingSurfaceType" typeName="SurfaceType" category="ParkingSpaceVertex_Parking" displayLabel="Surface Type" description="Surface type defined by a parking vertex override." />
160
+ <ECProperty propertyName="ParkingMinSlope" typeName="double" category="ParkingSpaceVertex_Parking" kindOfQuantity="rru:SLOPE" displayLabel="Min. Slope" description="Minimum slope defined by a parking vertex override." />
161
+ <ECProperty propertyName="ParkingMaxSlope" typeName="double" category="ParkingSpaceVertex_Parking" kindOfQuantity="rru:SLOPE" displayLabel="Max. Slope" description="Maximum slope defined by a parking vertex override." />
162
+ </ECEntityClass>
163
+
164
+ <ECEntityClass typeName="ParkingBayVertex" modifier="Sealed" displayLabel="Parking Bay Vertex" description="Defines a location point to override an entire parking bay settings.">
165
+ <BaseClass>ParkingVertex</BaseClass>
166
+
167
+ <ECProperty propertyName="BayMedianWidth" typeName="double" category="ParkingBayVertex_Bay" kindOfQuantity="rru:LENGTH" displayLabel="Median Width" description="Median width defined by a bay override." />
168
+ <ECProperty propertyName="ParkingDepth" typeName="double" category="ParkingBayVertex_Bay" kindOfQuantity="rru:LENGTH" displayLabel="Parking Depth Primary" description="Defines the bay override parking depth for primary side." />
169
+ <ECProperty propertyName="ParkingDepthOther" typeName="double" category="ParkingBayVertex_Bay" kindOfQuantity="rru:LENGTH" displayLabel="Parking Depth Secondary" description="Defines the bay override parking depth for secondary side." />
170
+ <ECProperty propertyName="ParkingAngle" typeName="double" category="ParkingBayVertex_Bay" kindOfQuantity="rru:ANGLE" displayLabel="Parking Angle Primary" description="Defines the bay override parking angle for primary side." />
171
+ <ECProperty propertyName="ParkingAngleOther" typeName="double" category="ParkingBayVertex_Bay" kindOfQuantity="rru:ANGLE" displayLabel="Parking Angle Secondary" description="Defines the bay override parking angle for secondary side." />
172
+ </ECEntityClass>
173
+
174
+ <ECEntityClass typeName="ParkingAisleVertex" modifier="Sealed" displayLabel="Parking Aisle Vertex" description="Defines a location point to override a parking aisle settings.">
175
+ <BaseClass>ParkingVertex</BaseClass>
176
+
177
+ <ECProperty propertyName="AisleWidth" typeName="double" category="ParkingAisleVertex_Aisle" kindOfQuantity="rru:LENGTH" displayLabel="Aisle Width" description="Defines the aisle override width." />
178
+ </ECEntityClass>
179
+
180
+ <ECEntityClass typeName="ParkingIslandVertex" modifier="Sealed" displayLabel="Parking Island Vertex" description="Defines a location point to override a parking island settings.">
181
+ <BaseClass>ParkingVertex</BaseClass>
182
+
183
+ <ECProperty propertyName="IslandWidth" typeName="double" category="ParkingIslandVertex_Island" kindOfQuantity="rru:LENGTH" displayLabel="Island Width" description="Defines the island override for it's width." />
184
+ </ECEntityClass>
185
+
186
+ <ECEntityClass typeName="Edge" modifier="Abstract">
187
+ <BaseClass>bis:SpatialLocationElement</BaseClass>
188
+
189
+ <ECProperty propertyName="Order" typeName="int">
190
+ <ECCustomAttributes>
191
+ <HiddenProperty xmlns="CoreCustomAttributes.01.00.03" />
192
+ </ECCustomAttributes>
193
+ </ECProperty>
194
+
195
+ <ECNavigationProperty propertyName="StartVertex" relationshipName="EdgeStartsAtVertex" direction="Forward" />
196
+ <ECNavigationProperty propertyName="EndVertex" relationshipName="EdgeEndsAtVertex" direction="Forward" />
197
+ </ECEntityClass>
198
+
199
+ <ECEntityClass typeName="AreaEdge" modifier="Abstract" displayLabel="Area Edge">
200
+ <BaseClass>Edge</BaseClass>
201
+ </ECEntityClass>
202
+
203
+ <ECEntityClass typeName="ShapedEdge" modifier="Abstract" displayLabel="Shaped Edge" description="Edge class for physical objects such as buildings.">
204
+ <BaseClass>AreaEdge</BaseClass>
205
+
206
+ <ECProperty propertyName="LinkHeight" typeName="double" kindOfQuantity="rru:LENGTH" category="ShapedEdge_LinkHeight" displayLabel="Link Height" description="Height of an edge." />
207
+ <ECProperty propertyName="UseWallInCost" typeName="boolean" category="ShapedEdge_LinkHeight" displayLabel="Use Wall in Cost" description="Treat as a wall for cost optimization." />
208
+ </ECEntityClass>
209
+
210
+ <ECEntityClass typeName="PropertyEdge" modifier="Sealed" displayLabel="Property Edge">
211
+ <BaseClass>ShapedEdge</BaseClass>
212
+
213
+ <ECProperty propertyName="ParkingSetback" typeName="double" kindOfQuantity="rru:LENGTH" category="PropertyEdge_Setbacks" displayLabel="Parking Setback" />
214
+ <ECProperty propertyName="BuildingSetback" typeName="double" kindOfQuantity="rru:LENGTH" category="PropertyEdge_Setbacks" displayLabel="Building Setback" />
215
+ </ECEntityClass>
216
+
217
+ <ECEntityClass typeName="BuildingEdge" modifier="Sealed" displayLabel="Building Edge">
218
+ <BaseClass>ShapedEdge</BaseClass>
219
+
220
+ <ECProperty propertyName="SlopeAway" typeName="double" kindOfQuantity="rru:SLOPE" category="BuildingEdge_SlopeAway" displayLabel="Slope Away" description="Slope away from edge for grading." />
221
+ <ECProperty propertyName="SlopeAwayDistance" typeName="double" kindOfQuantity="rru:LENGTH" category="BuildingEdge_SlopeAway" displayLabel="Slope Away Distance" description="Distance of the slope away from edge for grading." />
222
+ </ECEntityClass>
223
+
224
+ <ECEntityClass typeName="ParkingEdge" modifier="Sealed" displayLabel="Parking Edge">
225
+ <BaseClass>ShapedEdge</BaseClass>
226
+ </ECEntityClass>
227
+
228
+ <ECEntityClass typeName="IslandEdge" modifier="Sealed" displayLabel="Island Edge">
229
+ <BaseClass>ShapedEdge</BaseClass>
230
+ </ECEntityClass>
231
+
232
+ <ECEntityClass typeName="SidewalkEdge" modifier="Sealed" displayLabel="Sidewalk Edge">
233
+ <BaseClass>ShapedEdge</BaseClass>
234
+ </ECEntityClass>
235
+
236
+ <ECEntityClass typeName="DrivewayAreaEdge" modifier="Sealed" displayLabel="Driveway Area Edge">
237
+ <BaseClass>ShapedEdge</BaseClass>
238
+ </ECEntityClass>
239
+
240
+ <ECEntityClass typeName="PondEdge" modifier="Sealed" displayLabel="Pond Edge">
241
+ <BaseClass>ShapedEdge</BaseClass>
242
+ </ECEntityClass>
243
+
244
+ <ECEntityClass typeName="PadEdge" modifier="Sealed" displayLabel="Pad Edge">
245
+ <BaseClass>ShapedEdge</BaseClass>
246
+ </ECEntityClass>
247
+
248
+ <ECEntityClass typeName="LayoutParkingEdge" modifier="Sealed" displayLabel="Parking Lot Edge" description="Parking lot">
249
+ <BaseClass>AreaEdge</BaseClass>
250
+ </ECEntityClass>
251
+
252
+ <ECEntityClass typeName="PathEdge" modifier="None" displayLabel="Path Edge">
253
+ <BaseClass>Edge</BaseClass>
254
+ </ECEntityClass>
255
+
256
+ <ECEntityClass typeName="CenterlinePathEdge" modifier="None" displayLabel="Centerline Path Edge" description="Centerline of a path.">
257
+ <BaseClass>PathEdge</BaseClass>
258
+
259
+ <ECProperty propertyName="MinDriveSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="CenterlinePathEdge_Grading" displayLabel="Min. Slope" description="Minimum path slope for design." />
260
+ <ECProperty propertyName="MaxDriveSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="CenterlinePathEdge_Grading" displayLabel="Max. Slope" description="Maximum path slope for design." />
261
+ <ECProperty propertyName="SurfaceType" typeName="SurfaceType" category="CenterlinePathEdge_Grading" displayLabel="Surface Type" description="Surface material type for path." />
262
+ <ECProperty propertyName="SurfaceDepth" typeName="double" kindOfQuantity="rru:LENGTH" category="CenterlinePathEdge_Grading" displayLabel="Surface Depth" description="Surface material depth for path." />
263
+ <ECProperty propertyName="MinZ" typeName="double" kindOfQuantity="rru:LENGTH" category="CenterlinePathEdge_Grading" displayLabel="Min. Elevation" description="Minimum design elevation for path." />
264
+ <ECProperty propertyName="MaxZ" typeName="double" kindOfQuantity="rru:LENGTH" category="CenterlinePathEdge_Grading" displayLabel="Max. Elevation" description="Maximum design elevation for path." />
265
+
266
+ <ECProperty propertyName="RunoffC" typeName="double" category="CenterlinePathEdge_Drainage" displayLabel="Runoff Coefficient" description="Runoff coefficient for path." />
267
+ </ECEntityClass>
268
+
269
+ <ECEntityClass typeName="DrivewayPathEdge" modifier="Sealed" displayLabel="Driveway Edge" description="Centerline of a driveway.">
270
+ <BaseClass>CenterlinePathEdge</BaseClass>
271
+ <BaseClass>bis:IParentElement</BaseClass>
272
+
273
+ <ECProperty propertyName="MedianType" typeName="SurfaceType" category="DrivewayPathEdge_Median" displayLabel="Type" description="Median type along path." />
274
+ <ECProperty propertyName="MedianWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayPathEdge_Median" displayLabel="Width" description="Median width for path." />
275
+
276
+ <ECProperty propertyName="CrowningType" typeName="CrownType" category="DrivewayPathEdge_Crowning" displayLabel="Crown Type" description="Type of crown design for path." />
277
+ <ECProperty propertyName="KValueSag" typeName="double" category="DrivewayPathEdge_Crowning" displayLabel="Sag K Value" description="Design K-Value for sag vertical curves." />
278
+ <ECProperty propertyName="KValueSummit" typeName="double" category="DrivewayPathEdge_Crowning" displayLabel="Crest K Value" description="Design K-Value for crest vertical curves." />
279
+ </ECEntityClass>
280
+
281
+ <ECEntityClass typeName="DrivewayPathFin" modifier="Sealed" displayLabel="Driveway Fin" description="One of two sides to a Driveway Path Edge.">
282
+ <BaseClass>bis:SpatialLocationElement</BaseClass>
283
+
284
+ <!--
285
+ In SITEOPS, (almost) all the properties on this element are duplicated with the '-Other' post-fix and live on a single Side object.
286
+ Here, we have two separate elements, with this single property to determine if it is the 'Primary' DrivewayPathFin or the 'Other' DrivewayPathFin
287
+ -->
288
+ <ECProperty propertyName="IsPrimary" typeName="boolean">
289
+ <ECCustomAttributes>
290
+ <HiddenProperty xmlns="CoreCustomAttributes.01.00.03" />
291
+ </ECCustomAttributes>
292
+ </ECProperty>
293
+
294
+ <ECProperty propertyName="CrossSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="DrivewayPathFin_Road" displayLabel="Cross Slope" description="Cross slope for this side of driveway." />
295
+ <ECProperty propertyName="DrivewayWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayPathFin_Road" displayLabel="Driveway Width" description="Driveway width on this side." />
296
+
297
+ <ECProperty propertyName="ShoulderWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayPathFin_Shoulder" displayLabel="Shoulder Width" description="Width of shoulder on this side of driveway." />
298
+ <ECProperty propertyName="ShoulderSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="DrivewayPathFin_Shoulder" displayLabel="Shoulder Slope" description="Slope of shoulder on this side of driveway." />
299
+ <ECProperty propertyName="DitchOffset" typeName="double" kindOfQuantity="rru:LENGTH" category="DrivewayPathFin_Shoulder" displayLabel="Ditch Offset" description="Offset to ditch on this side of driveway." />
300
+ <ECProperty propertyName="DitchSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="DrivewayPathFin_Shoulder" displayLabel="Ditch Slope" description="Ditch slope for this side of driveway." />
301
+ </ECEntityClass>
302
+
303
+ <ECEntityClass typeName="SidewalkPathEdge" modifier="Sealed" displayLabel="Sidewalk Path Edge" description="Sidewalk path edge.">
304
+ <BaseClass>CenterlinePathEdge</BaseClass>
305
+ </ECEntityClass>
306
+
307
+ <ECEntityClass typeName="ParkingDirectionPathEdge" modifier="Sealed" displayLabel="Parking Direction Path Edge" description="Parking direction path edge.">
308
+ <BaseClass>PathEdge</BaseClass>
309
+ </ECEntityClass>
310
+
311
+ <ECRelationshipClass typeName="EdgeStartsAtVertex" strength="referencing" modifier="Sealed">
312
+ <Source multiplicity="(0..2)" roleLabel="starts at" polymorphic="true">
313
+ <Class class="Edge" />
314
+ </Source>
315
+ <Target multiplicity="(1..1)" roleLabel="connects to" polymorphic="true">
316
+ <Class class="Vertex" />
317
+ </Target>
318
+ </ECRelationshipClass>
319
+
320
+ <ECRelationshipClass typeName="EdgeEndsAtVertex" strength="referencing" modifier="Sealed">
321
+ <Source multiplicity="(0..2)" roleLabel="ends at" polymorphic="true">
322
+ <Class class="Edge" />
323
+ </Source>
324
+ <Target multiplicity="(1..1)" roleLabel="connects to" polymorphic="true">
325
+ <Class class="Vertex" />
326
+ </Target>
327
+ </ECRelationshipClass>
328
+
329
+ <ECEntityClass typeName="Wire" modifier="Abstract">
330
+ <BaseClass>bis:SpatialLocationElement</BaseClass>
331
+ <BaseClass>bis:IParentElement</BaseClass>
332
+ </ECEntityClass>
333
+
334
+ <ECRelationshipClass typeName="LayoutParkingAreaOwnsIslandAreas" strength="embedding" strengthDirection="Forward" modifier="Sealed">
335
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
336
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
337
+ <Class class="LayoutParkingArea" />
338
+ </Source>
339
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
340
+ <Class class="IslandArea" />
341
+ </Target>
342
+ </ECRelationshipClass>
343
+
344
+ <ECRelationshipClass typeName="LayoutParkingAreaOwnsParkingRows" strength="embedding" strengthDirection="Forward" modifier="Sealed">
345
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
346
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
347
+ <Class class="LayoutParkingArea" />
348
+ </Source>
349
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
350
+ <Class class="ParkingRowPath" />
351
+ </Target>
352
+ </ECRelationshipClass>
353
+
354
+ <ECRelationshipClass typeName="LayoutParkingAreaOwnsParkingArea" strength="embedding" strengthDirection="Forward" modifier="Sealed">
355
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
356
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
357
+ <Class class="LayoutParkingArea" />
358
+ </Source>
359
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
360
+ <Class class="ParkingArea" />
361
+ </Target>
362
+ </ECRelationshipClass>
363
+
364
+ <ECRelationshipClass typeName="BuildingAreaOwnsSidewalks" strength="embedding" strengthDirection="Forward" modifier="Sealed">
365
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
366
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
367
+ <Class class="BuildingArea" />
368
+ </Source>
369
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
370
+ <Class class="SidewalkArea" />
371
+ </Target>
372
+ </ECRelationshipClass>
373
+
374
+ <ECRelationshipClass typeName="DrivewayPathOwnsDrivewayAreas" strength="embedding" strengthDirection="Forward" modifier="Sealed">
375
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
376
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
377
+ <Class class="DrivewayPath" />
378
+ </Source>
379
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
380
+ <Class class="DrivewayArea" />
381
+ </Target>
382
+ </ECRelationshipClass>
383
+
384
+ <ECRelationshipClass typeName="DrivewayPathOwnsSidewalks" strength="embedding" strengthDirection="Forward" modifier="Sealed">
385
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
386
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
387
+ <Class class="DrivewayPath" />
388
+ </Source>
389
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
390
+ <Class class="SidewalkArea" />
391
+ </Target>
392
+ </ECRelationshipClass>
393
+
394
+ <ECRelationshipClass typeName="DrivewayPathOwnsParkingAreas" strength="embedding" strengthDirection="Forward" modifier="Sealed">
395
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
396
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
397
+ <Class class="DrivewayPath" />
398
+ </Source>
399
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
400
+ <Class class="ParkingArea" />
401
+ </Target>
402
+ </ECRelationshipClass>
403
+
404
+ <ECRelationshipClass typeName="DrivewayPathOwnsParkingRows" strength="embedding" strengthDirection="Forward" modifier="Sealed">
405
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
406
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
407
+ <Class class="DrivewayPath" />
408
+ </Source>
409
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
410
+ <Class class="ParkingRowPath" />
411
+ </Target>
412
+ </ECRelationshipClass>
413
+
414
+ <ECRelationshipClass typeName="DrivewayPathOwnsBreaklines" strength="embedding" strengthDirection="Forward" modifier="Sealed">
415
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
416
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
417
+ <Class class="DrivewayPath" />
418
+ </Source>
419
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
420
+ <Class class="BreaklinePath" />
421
+ </Target>
422
+ </ECRelationshipClass>
423
+
424
+ <ECRelationshipClass typeName="DrivewayPathEdgeOwnsFins" strength="embedding" strengthDirection="Forward" modifier="Sealed">
425
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
426
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
427
+ <Class class="DrivewayPathEdge" />
428
+ </Source>
429
+ <Target multiplicity="(2..2)" roleLabel="is owned by" polymorphic="false">
430
+ <Class class="DrivewayPathFin" />
431
+ </Target>
432
+ </ECRelationshipClass>
433
+
434
+ <ECRelationshipClass typeName="WireOwnsVertices" strength="embedding" strengthDirection="Forward" modifier="Sealed">
435
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
436
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
437
+ <Class class="Wire" />
438
+ </Source>
439
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="true">
440
+ <Class class="Vertex" />
441
+ </Target>
442
+ </ECRelationshipClass>
443
+
444
+ <ECRelationshipClass typeName="WireOwnsEdges" strength="embedding" strengthDirection="Forward" modifier="Sealed">
445
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
446
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
447
+ <Class class="Wire" />
448
+ </Source>
449
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="true">
450
+ <Class class="Edge" />
451
+ </Target>
452
+ </ECRelationshipClass>
453
+
454
+ <ECRelationshipClass typeName="LayoutParkingAreaOwnsParkingDirectionPath" strength="embedding" strengthDirection="Forward" modifier="Sealed">
455
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
456
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
457
+ <Class class="LayoutParkingArea" />
458
+ </Source>
459
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
460
+ <Class class="ParkingDirectionPath" />
461
+ </Target>
462
+ </ECRelationshipClass>
463
+
464
+ <ECRelationshipClass typeName="LayoutParkingAreaOwnsParkingVertex" strength="embedding" strengthDirection="Forward" modifier="Sealed">
465
+ <BaseClass>bis:ElementOwnsChildElements</BaseClass>
466
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
467
+ <Class class="LayoutParkingArea" />
468
+ </Source>
469
+ <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="false">
470
+ <Class class="ParkingVertex" />
471
+ </Target>
472
+ </ECRelationshipClass>
473
+
474
+ <ECEntityClass typeName="Area" modifier="Abstract" displayLabel="Area" description="Area">
475
+ <BaseClass>Wire</BaseClass>
476
+ </ECEntityClass>
477
+
478
+ <ECEntityClass typeName="ShapedArea" modifier="Abstract" displayLabel="Shaped Area" description="Shaped area">
479
+ <BaseClass>Area</BaseClass>
480
+
481
+ <ECProperty propertyName="DoGrade" typeName="boolean" category="ShapedArea_Optimizer" displayLabel="Grading" description="Add area grading data to grading optimizer." />
482
+
483
+ <ECProperty propertyName="Topsoil" typeName="double" category="ShapedArea_Surface" displayLabel="Topsoil" description="Depth of topsoil." />
484
+ <ECProperty propertyName="SurfaceType" typeName="SurfaceType" category="ShapedArea_Surface" displayLabel="Surface Type" description="Type definition of area." />
485
+ <ECProperty propertyName="SurfaceDepth" typeName="double" category="ShapedArea_Surface" kindOfQuantity="rru:LENGTH" displayLabel="Surface Depth" description="Material depth of area." />
486
+ <ECProperty propertyName="RunoffCoefficient" typeName="double" category="ShapedArea_Surface" displayLabel="Runoff Coefficient" description="Runoff coefficient for area." />
487
+
488
+ <ECProperty propertyName="MinSlope" typeName="double" category="ShapedArea_Constraints" kindOfQuantity="rru:SLOPE" displayLabel="Min. Slope" description="Minimum design slope for area." />
489
+ <ECProperty propertyName="MaxSlope" typeName="double" category="ShapedArea_Constraints" kindOfQuantity="rru:SLOPE" displayLabel="Max. Slope" description="Maximum design slope for area." />
490
+ <ECProperty propertyName="MinZ" typeName="double" category="ShapedArea_Constraints" kindOfQuantity="rru:LENGTH" displayLabel="Min. Elevation" description="Minimum design elevation for area." />
491
+ <ECProperty propertyName="MaxZ" typeName="double" category="ShapedArea_Constraints" kindOfQuantity="rru:LENGTH" displayLabel="Max. Elevation" description="Maximum design elevation for area." />
492
+ </ECEntityClass>
493
+
494
+ <ECEntityClass typeName="PropertyArea" modifier="Sealed" displayLabel="Property Area" description="Property Area">
495
+ <BaseClass>ShapedArea</BaseClass>
496
+ </ECEntityClass>
497
+
498
+ <ECEntityClass typeName="BuildingArea" modifier="Sealed" displayLabel="Building Area" description="Building Area">
499
+ <BaseClass>ShapedArea</BaseClass>
500
+
501
+ <ECProperty propertyName="ControlType" typeName="ControlType">
502
+ <ECCustomAttributes>
503
+ <HiddenProperty xmlns="CoreCustomAttributes.01.00.03" />
504
+ </ECCustomAttributes>
505
+ </ECProperty>
506
+ </ECEntityClass>
507
+
508
+ <ECEntityClass typeName="PadArea" modifier="Sealed" displayLabel="Pad Area" description="Pad Area">
509
+ <BaseClass>ShapedArea</BaseClass>
510
+ </ECEntityClass>
511
+
512
+ <ECEntityClass typeName="ParkingArea" modifier="Sealed" displayLabel="Parking Area" description="Parking Area">
513
+ <BaseClass>ShapedArea</BaseClass>
514
+ </ECEntityClass>
515
+
516
+ <ECEntityClass typeName="DrivewayArea" modifier="Sealed" displayLabel="Driveway Area" description="Driveway Area">
517
+ <BaseClass>ShapedArea</BaseClass>
518
+ </ECEntityClass>
519
+
520
+ <ECEntityClass typeName="SidewalkArea" modifier="Sealed" displayLabel="Sidewalk Area" description="Sidewalk Area">
521
+ <BaseClass>ShapedArea</BaseClass>
522
+ </ECEntityClass>
523
+
524
+ <ECEntityClass typeName="IslandArea" modifier="Sealed" displayLabel="Island Area" description="Island Area">
525
+ <BaseClass>ShapedArea</BaseClass>
526
+ </ECEntityClass>
527
+
528
+ <ECEntityClass typeName="LayoutArea" modifier="Abstract" displayLabel="Layout Area" description="Layout Area">
529
+ <BaseClass>Area</BaseClass>
530
+ </ECEntityClass>
531
+
532
+ <ECEntityClass typeName="LayoutParkingArea" modifier="Sealed" displayLabel="Layout Parking Area" description="Layout parking area.">
533
+ <BaseClass>LayoutArea</BaseClass>
534
+
535
+ <ECProperty propertyName="ControlType" typeName="ControlType">
536
+ <ECCustomAttributes>
537
+ <HiddenProperty xmlns="CoreCustomAttributes.01.00.03" />
538
+ </ECCustomAttributes>
539
+ </ECProperty>
540
+
541
+ <ECProperty propertyName="ParkingWidth" typeName="double" category="LayoutParkingArea_Parking" kindOfQuantity="rru:LENGTH" displayLabel="Width" description="Parking space width." />
542
+ <ECProperty propertyName="ParkingDepth" typeName="double" category="LayoutParkingArea_Parking" kindOfQuantity="rru:LENGTH" displayLabel="Depth" description="Parking space depth." />
543
+ <ECProperty propertyName="ParkingAngle" typeName="double" category="LayoutParkingArea_Parking" kindOfQuantity="rru:ANGLE" displayLabel="Angle" description="Parking space angle." />
544
+ <ECProperty propertyName="ParkingSpaces" typeName="int" category="LayoutParkingArea_Parking" displayLabel="Parking Spaces" description="Number of spaces." />
545
+ <ECProperty propertyName="ProblemSpaces" typeName="int" category="LayoutParkingArea_Parking" displayLabel="Problem Spaces" description="Number of problematic spaces." />
546
+
547
+ <ECProperty propertyName="AisleWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="LayoutParkingArea_ParkingAisle" displayLabel="Width" description="Parking aisle width." />
548
+
549
+ <ECProperty propertyName="ParkingPerIsland" typeName="int" category="LayoutParkingArea_ParkingIsland" displayLabel="Count Per Island" description="Number of parking spaces between islands." />
550
+ <ECProperty propertyName="MinIslandWidth" typeName="double" category="LayoutParkingArea_ParkingIsland" kindOfQuantity="rru:LENGTH" displayLabel="Minimum Width" description="Minimum parking island width." />
551
+ <ECProperty propertyName="IslandType" typeName="IslandType" category="LayoutParkingArea_ParkingIsland" displayLabel="Type" description="Island type or material." />
552
+ <ECProperty propertyName="IslandCurbRadius" typeName="double" category="LayoutParkingArea_ParkingIsland" kindOfQuantity="rru:LENGTH" displayLabel="Curb Radius" description="Island curb radius." />
553
+
554
+ <ECProperty propertyName="BayCurbRadius" typeName="double" category="LayoutParkingArea_ParkingBay" kindOfQuantity="rru:LENGTH" displayLabel="Curb Radius" description="Parking bay curb radius." />
555
+
556
+ <ECProperty propertyName="MinSlopeParkingLot" typeName="double" category="LayoutParkingArea_ParkingGrading" kindOfQuantity="rru:SLOPE" displayLabel="Min. Design Slope" description="Minimum design slope for parking lot." />
557
+ <ECProperty propertyName="MaxSlopeParkingLot" typeName="double" category="LayoutParkingArea_ParkingGrading" kindOfQuantity="rru:SLOPE" displayLabel="Max. Design Slope" description="Maximum design slope for parking lot." />
558
+ <ECProperty propertyName="SurfaceTypeParkingLot" typeName="SurfaceType" category="LayoutParkingArea_ParkingGrading" displayLabel="Surface Type" description="Surface type or material for parking lot." />
559
+ <ECProperty propertyName="SurfaceDepthParkingLot" typeName="double" category="LayoutParkingArea_ParkingGrading" kindOfQuantity="rru:LENGTH" displayLabel="Surface Depth" description="Surface or material depth." />
560
+ <ECProperty propertyName="SurfaceTypeParkingSpaces" typeName="SurfaceType" category="LayoutParkingArea_ParkingGrading" displayLabel="Space Surface Type" description="Surface type or material for specific parking spaces." />
561
+ <ECProperty propertyName="SurfaceDepthParkingSpaces" typeName="double" category="LayoutParkingArea_ParkingGrading" kindOfQuantity="rru:LENGTH" displayLabel="Space Surface Depth" description="Surface or material depth for specific parking spaces." />
562
+ </ECEntityClass>
563
+
564
+ <ECEntityClass typeName="LayoutPondArea" modifier="Sealed" displayLabel="Pond Area" description="Layout pond area.">
565
+ <BaseClass>LayoutArea</BaseClass>
566
+
567
+ <ECProperty propertyName="Height" typeName="double" category="LayoutPondArea_Dimensions" kindOfQuantity="rru:LENGTH" displayLabel="Height" description="Height of the pond." />
568
+ <ECProperty propertyName="Depth" typeName="double" category="LayoutPondArea_Dimensions" kindOfQuantity="rru:LENGTH" displayLabel="Depth" description="Depth of the pond." />
569
+ </ECEntityClass>
570
+
571
+ <ECEntityClass typeName="GradingArea" modifier="Abstract" displayLabel="Grading Area" description="Grading area.">
572
+ <BaseClass>Area</BaseClass>
573
+
574
+ <ECProperty propertyName="DoGrade" typeName="boolean" category="GradingArea_Optimizer" displayLabel="Grading" />
575
+
576
+ <ECProperty propertyName="Topsoil" typeName="double" category="GradingArea_Surface" kindOfQuantity="rru:LENGTH" displayLabel="Topsoil" description="Topsoil depth for grading area." />
577
+ <ECProperty propertyName="SurfaceType" typeName="SurfaceType" category="GradingArea_Surface" displayLabel="Surface Type" description="Surface type or material for grading area." />
578
+ <ECProperty propertyName="SurfaceDepth" typeName="double" category="GradingArea_Surface" kindOfQuantity="rru:LENGTH" displayLabel="Surface Depth" description="Surface or material depth for grading area." />
579
+
580
+ <ECProperty propertyName="MinSlope" typeName="double" category="GradingArea_Constraints" kindOfQuantity="rru:SLOPE" displayLabel="Min. Slope" description="Minimum slope constraint on grading area." />
581
+ <ECProperty propertyName="MaxSlope" typeName="double" category="GradingArea_Constraints" kindOfQuantity="rru:SLOPE" displayLabel="Max. Slope" description="Maximum slope constraint on grading area." />
582
+ <ECProperty propertyName="MinZ" typeName="double" category="GradingArea_Constraints" kindOfQuantity="rru:LENGTH" displayLabel="Min. Elevation" description="Minimum elevation change constraint on grading area." />
583
+ <ECProperty propertyName="MaxZ" typeName="double" category="GradingArea_Constraints" kindOfQuantity="rru:LENGTH" displayLabel="Max. Elevation" description="Maximum elevation change constraint on grading area." />
584
+ </ECEntityClass>
585
+
586
+ <ECEntityClass typeName="GradingLimitArea" modifier="Sealed" displayLabel="Grading Limit Area" description="Grading limit area.">
587
+ <BaseClass>GradingArea</BaseClass>
588
+ </ECEntityClass>
589
+
590
+ <ECEntityClass typeName="Path" modifier="Abstract" displayLabel="Path">
591
+ <BaseClass>Wire</BaseClass>
592
+ </ECEntityClass>
593
+
594
+ <ECEntityClass typeName="LayoutPath" modifier="Abstract" displayLabel="Layout Path" description="Layout path.">
595
+ <BaseClass>Path</BaseClass>
596
+ </ECEntityClass>
597
+
598
+ <ECEntityClass typeName="DrivewayPath" modifier="Sealed" displayLabel="Driveway" description="Driveway path.">
599
+ <BaseClass>LayoutPath</BaseClass>
600
+ <BaseClass>lr:ILinearElementSource</BaseClass>
601
+ <BaseClass>bis:IParentElement</BaseClass>
602
+
603
+ <ECProperty propertyName="ControlType" typeName="ControlType">
604
+ <ECCustomAttributes>
605
+ <HiddenProperty xmlns="CoreCustomAttributes.01.00.03" />
606
+ </ECCustomAttributes>
607
+ </ECProperty>
608
+
609
+ <ECProperty propertyName="DriveOnRight" typeName="boolean" category="DrivewayPath_Direction" displayLabel="Drive On Right" description="Sets the primary drive side, true to drive on the right-hand side." />
610
+ </ECEntityClass>
611
+
612
+ <ECEntityClass typeName="ParkingDirectionPath" modifier="Sealed" displayLabel="Parking Direction Path" description="Parking direction path.">
613
+ <BaseClass>LayoutPath</BaseClass>
614
+ </ECEntityClass>
615
+
616
+ <ECEntityClass typeName="SidewalkPath" modifier="Sealed" displayLabel="Sidewalk Path" description="Sidewalk path.">
617
+ <BaseClass>LayoutPath</BaseClass>
618
+ </ECEntityClass>
619
+
620
+ <ECEntityClass typeName="ParkingRowPath" modifier="Sealed" displayLabel="Parking Row Path" description="Parking row path.">
621
+ <BaseClass>LayoutPath</BaseClass>
622
+
623
+ <ECProperty propertyName="ParkingWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="ParkingRowPath_Parking" displayLabel="Width" description="Parking width for row." />
624
+ <ECProperty propertyName="ParkingDepth" typeName="double" kindOfQuantity="rru:LENGTH" category="ParkingRowPath_Parking" displayLabel="Depth" description="Parking depth for row." />
625
+ <ECProperty propertyName="ParkingAngle" typeName="double" kindOfQuantity="rru:ANGLE" category="ParkingRowPath_Parking" displayLabel="Angle" description="Parking angle for row." />
626
+ </ECEntityClass>
627
+
628
+ <ECEntityClass typeName="GradingPath" modifier="Abstract" displayLabel="Grading Path" description="Grading path.">
629
+ <BaseClass>Path</BaseClass>
630
+ </ECEntityClass>
631
+
632
+ <ECEntityClass typeName="BreaklinePath" modifier="Sealed" displayLabel="Breakline Path" description="Breakline path.">
633
+ <BaseClass>GradingPath</BaseClass>
634
+ </ECEntityClass>
635
+
636
+ <ECEntityClass typeName="ContourLinesAspect" modifier="Sealed" displayLabel="Contour Lines" description="Terrain contour lines" >
637
+ <BaseClass>bis:ElementUniqueAspect</BaseClass>
638
+
639
+ <ECProperty propertyName="MinorStep" typeName="double" kindOfQuantity="rru:LENGTH" displayLabel="Minor Step" description="Minor steps interval size" />
640
+ <ECProperty propertyName="MajorStepMultiple" typeName="int" displayLabel="Major Step Interval" description="Number of minor intervals between two major steps" />
641
+ </ECEntityClass>
642
+
643
+ <ECRelationshipClass typeName="WireOwnsContourLinesAspect" modifier="Sealed" strength="embedding">
644
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
645
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
646
+ <Class class="Wire" />
647
+ </Source>
648
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
649
+ <Class class="ContourLinesAspect" />
650
+ </Target>
651
+ </ECRelationshipClass>
652
+
653
+ <ECEntityClass typeName="EdgeParkingAspect" modifier="Sealed" displayLabel="Parking" description="">
654
+ <BaseClass>bis:ElementUniqueAspect</BaseClass>
655
+
656
+ <ECProperty propertyName="ParkingWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeParkingAspect_Parking" displayLabel="Parking Width" description="Parking space width." />
657
+ <ECProperty propertyName="ParkingDepth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeParkingAspect_Parking" displayLabel="Parking Depth" description="Parking space depth." />
658
+ <ECProperty propertyName="ParkingAngle" typeName="double" kindOfQuantity="rru:ANGLE" category="EdgeParkingAspect_Parking" displayLabel="Parking Angle" description="Parking space angle." />
659
+ <ECProperty propertyName="MaxParkingOffset" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeParkingAspect_Parking" displayLabel="Max. Parking Offset" />
660
+ <ECProperty propertyName="IgnoreProblems" typeName="boolean" category="EdgeParkingAspect_Parking" displayLabel="Ignore Problems" />
661
+ <ECProperty propertyName="ParksPerIsland" typeName="int" category="EdgeParkingAspect_Parking" displayLabel="Count Per Island" description="Parking space count between islands." />
662
+ <ECProperty propertyName="IslandWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeParkingAspect_Parking" displayLabel="Island Width" description="Width of parking islands." />
663
+ <ECProperty propertyName="IslandCurbRadius" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeParkingAspect_Parking" displayLabel="Island Curb Radius" description="Curb radius for parking islands." />
664
+ </ECEntityClass>
665
+
666
+ <ECRelationshipClass typeName="PropertyEdgeOwnsParkingAspect" modifier="Sealed" strength="embedding">
667
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
668
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
669
+ <Class class="PropertyEdge" />
670
+ </Source>
671
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
672
+ <Class class="EdgeParkingAspect" />
673
+ </Target>
674
+ </ECRelationshipClass>
675
+
676
+ <ECRelationshipClass typeName="BuildingEdgeOwnsParkingAspect" modifier="Sealed" strength="embedding">
677
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
678
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
679
+ <Class class="BuildingEdge" />
680
+ </Source>
681
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
682
+ <Class class="EdgeParkingAspect" />
683
+ </Target>
684
+ </ECRelationshipClass>
685
+
686
+ <ECRelationshipClass typeName="IslandEdgeOwnsParkingAspect" modifier="Sealed" strength="embedding">
687
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
688
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
689
+ <Class class="IslandEdge" />
690
+ </Source>
691
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
692
+ <Class class="EdgeParkingAspect" />
693
+ </Target>
694
+ </ECRelationshipClass>
695
+
696
+ <ECRelationshipClass typeName="PadEdgeOwnsParkingAspect" modifier="Sealed" strength="embedding">
697
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
698
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
699
+ <Class class="PadEdge" />
700
+ </Source>
701
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
702
+ <Class class="EdgeParkingAspect" />
703
+ </Target>
704
+ </ECRelationshipClass>
705
+
706
+ <ECRelationshipClass typeName="LayoutParkingEdgeOwnsParkingAspect" modifier="Sealed" strength="embedding">
707
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
708
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
709
+ <Class class="LayoutParkingEdge" />
710
+ </Source>
711
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
712
+ <Class class="EdgeParkingAspect" />
713
+ </Target>
714
+ </ECRelationshipClass>
715
+
716
+ <ECEntityClass typeName="EdgeOnSideParkingAspect" modifier="Sealed" displayLabel="Onside Parking" description="">
717
+ <BaseClass>bis:ElementUniqueAspect</BaseClass>
718
+
719
+ <ECProperty propertyName="OnSideParkingWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeOnSideParkingAspect_Parking" displayLabel="Onside Parking Width" description="Onside parking space width for this side of driveway." />
720
+ <ECProperty propertyName="OnSideParkingDepth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeOnSideParkingAspect_Parking" displayLabel="Onside Parking Depth" description="Onside parking space depth for this side of driveway." />
721
+ <ECProperty propertyName="OnSideParkingAngle" typeName="double" kindOfQuantity="rru:ANGLE" category="EdgeOnSideParkingAspect_Parking" displayLabel="Onside Parking Angle" description="Onside parking space angle for this side of driveway." />
722
+ <ECProperty propertyName="OnSideParksPerIsland" typeName="int" category="EdgeOnSideParkingAspect_Parking" displayLabel="Onside Parks Per Island" description="Onside parking space count per island on this side of driveway." />
723
+ <ECProperty propertyName="OnSideIslandWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeOnSideParkingAspect_Parking" displayLabel="Onside Island Width" description="Onside parking island width for this side of driveway." />
724
+ <ECProperty propertyName="OnSideIslandCurbRadius" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeOnSideParkingAspect_Parking" displayLabel="Onside Curb Radius" description="Onside parking island curb radius for this side of driveway." />
725
+
726
+ <ECProperty propertyName="OnSideParkingSurfaceType" typeName="SurfaceType" category="EdgeOnSideParkingAspect_Grading" displayLabel="Onside Surface Type" description="Onside parking surface type for this side of driveway." />
727
+ <ECProperty propertyName="OnSideParkingSurfaceDepth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeOnSideParkingAspect_Grading" displayLabel="Onside Surface Depth" description="Onside parking material depth for this side of driveway." />
728
+ <ECProperty propertyName="OnSideParkingMinSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="EdgeOnSideParkingAspect_Grading" displayLabel="Onside Parking Min. Slope" description="Onside parking minimum design slope for this side of driveway." />
729
+ <ECProperty propertyName="OnSideParkingMaxSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="EdgeOnSideParkingAspect_Grading" displayLabel="Onside Parking Max. Slope" description="Onside parking maximum design slope for this side of driveway." />
730
+ </ECEntityClass>
731
+
732
+ <ECRelationshipClass typeName="DrivewayPathFinOwnsOnSideParkingAspect" modifier="Sealed" strength="embedding">
733
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
734
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
735
+ <Class class="DrivewayPathFin" />
736
+ </Source>
737
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
738
+ <Class class="EdgeOnSideParkingAspect" />
739
+ </Target>
740
+ </ECRelationshipClass>
741
+
742
+ <ECEntityClass typeName="EdgeSidewalkAspect" modifier="Sealed" displayLabel="Sidewalk" description="">
743
+ <BaseClass>bis:ElementUniqueAspect</BaseClass>
744
+
745
+ <ECProperty propertyName="SidewalkType" typeName="SurfaceType" category="EdgeSidewalkAspect_Sidewalk" displayLabel="Type" description="Defines the type of sidewalk or material." />
746
+ <ECProperty propertyName="SidewalkWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeSidewalkAspect_Sidewalk" displayLabel="Width" description="Width of sidewalk." />
747
+ <ECProperty propertyName="SidewalkOffset" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeSidewalkAspect_Sidewalk" displayLabel="Offset" description="Offset distance for sidewalk." />
748
+ <ECProperty propertyName="SidewalkDepth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeSidewalkAspect_Sidewalk" displayLabel="Depth" description="Depth of sidewalk material." />
749
+ <ECProperty propertyName="MinSidewalkSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="EdgeSidewalkAspect_Sidewalk" displayLabel="Min. Slope" description="Minimum allowable sidewalk slope." />
750
+ <ECProperty propertyName="MaxSidewalkSlope" typeName="double" kindOfQuantity="rru:SLOPE" category="EdgeSidewalkAspect_Sidewalk" displayLabel="Max. Slope" description="Maximum allowable sidewalk slope." />
751
+ </ECEntityClass>
752
+
753
+ <ECRelationshipClass typeName="BuildingEdgeOwnsSidewalkAspect" modifier="Sealed" strength="embedding">
754
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
755
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
756
+ <Class class="BuildingEdge" />
757
+ </Source>
758
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
759
+ <Class class="EdgeSidewalkAspect" />
760
+ </Target>
761
+ </ECRelationshipClass>
762
+
763
+ <ECRelationshipClass typeName="LayoutParkingEdgeOwnsSidewalkAspect" modifier="Sealed" strength="embedding">
764
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
765
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
766
+ <Class class="LayoutParkingEdge" />
767
+ </Source>
768
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
769
+ <Class class="EdgeSidewalkAspect" />
770
+ </Target>
771
+ </ECRelationshipClass>
772
+
773
+ <ECRelationshipClass typeName="DrivewayPathFinOwnsSidewalkAspect" modifier="Sealed" strength="embedding">
774
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
775
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
776
+ <Class class="DrivewayPathFin" />
777
+ </Source>
778
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
779
+ <Class class="EdgeSidewalkAspect" />
780
+ </Target>
781
+ </ECRelationshipClass>
782
+
783
+ <ECEntityClass typeName="EdgeCurbAspect" modifier="Sealed" displayLabel="Curb" description="">
784
+ <BaseClass>bis:ElementUniqueAspect</BaseClass>
785
+
786
+ <ECProperty propertyName="CurbHeight" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeCurbAspect_Curb" displayLabel="Curb Height" description="Height of the curb." />
787
+ </ECEntityClass>
788
+
789
+ <ECRelationshipClass typeName="BuildingEdgeOwnsCurbAspect" modifier="Sealed" strength="embedding">
790
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
791
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
792
+ <Class class="BuildingEdge" />
793
+ </Source>
794
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
795
+ <Class class="EdgeCurbAspect" />
796
+ </Target>
797
+ </ECRelationshipClass>
798
+
799
+ <ECRelationshipClass typeName="ParkingEdgeOwnsCurbAspect" modifier="Sealed" strength="embedding">
800
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
801
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
802
+ <Class class="ParkingEdge" />
803
+ </Source>
804
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
805
+ <Class class="EdgeCurbAspect" />
806
+ </Target>
807
+ </ECRelationshipClass>
808
+
809
+ <ECRelationshipClass typeName="IslandEdgeOwnsCurbAspect" modifier="Sealed" strength="embedding">
810
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
811
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
812
+ <Class class="IslandEdge" />
813
+ </Source>
814
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
815
+ <Class class="EdgeCurbAspect" />
816
+ </Target>
817
+ </ECRelationshipClass>
818
+
819
+ <ECRelationshipClass typeName="SidewalkEdgeOwnsCurbAspect" modifier="Sealed" strength="embedding">
820
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
821
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
822
+ <Class class="SidewalkEdge" />
823
+ </Source>
824
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
825
+ <Class class="EdgeCurbAspect" />
826
+ </Target>
827
+ </ECRelationshipClass>
828
+
829
+ <ECRelationshipClass typeName="DrivewayAreaEdgeOwnsCurbAspect" modifier="Sealed" strength="embedding">
830
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
831
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
832
+ <Class class="DrivewayAreaEdge" />
833
+ </Source>
834
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
835
+ <Class class="EdgeCurbAspect" />
836
+ </Target>
837
+ </ECRelationshipClass>
838
+
839
+ <ECRelationshipClass typeName="PadEdgeOwnsCurbAspect" modifier="Sealed" strength="embedding">
840
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
841
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
842
+ <Class class="PadEdge" />
843
+ </Source>
844
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
845
+ <Class class="EdgeCurbAspect" />
846
+ </Target>
847
+ </ECRelationshipClass>
848
+
849
+ <ECRelationshipClass typeName="LayoutParkingEdgeOwnsCurbAspect" modifier="Sealed" strength="embedding">
850
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
851
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
852
+ <Class class="LayoutParkingEdge" />
853
+ </Source>
854
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
855
+ <Class class="EdgeCurbAspect" />
856
+ </Target>
857
+ </ECRelationshipClass>
858
+
859
+ <ECRelationshipClass typeName="DrivewayPathFinOwnsCurbAspect" modifier="Sealed" strength="embedding">
860
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
861
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
862
+ <Class class="DrivewayPathFin" />
863
+ </Source>
864
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
865
+ <Class class="EdgeCurbAspect" />
866
+ </Target>
867
+ </ECRelationshipClass>
868
+
869
+ <ECEntityClass typeName="EdgeAisleAspect" modifier="Sealed" displayLabel="Aisle" description="">
870
+ <BaseClass>bis:ElementUniqueAspect</BaseClass>
871
+
872
+ <ECProperty propertyName="AisleWidth" typeName="double" kindOfQuantity="rru:LENGTH" category="EdgeAisleAspect_Aisle" displayLabel="Aisle Width" description="Aisle width for parking." />
873
+ </ECEntityClass>
874
+
875
+ <ECRelationshipClass typeName="PropertyEdgeOwnsAisleAspect" modifier="Sealed" strength="embedding">
876
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
877
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
878
+ <Class class="PropertyEdge" />
879
+ </Source>
880
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
881
+ <Class class="EdgeAisleAspect" />
882
+ </Target>
883
+ </ECRelationshipClass>
884
+
885
+ <ECRelationshipClass typeName="BuildingEdgeOwnsAisleAspect" modifier="Sealed" strength="embedding">
886
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
887
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
888
+ <Class class="BuildingEdge" />
889
+ </Source>
890
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
891
+ <Class class="EdgeAisleAspect" />
892
+ </Target>
893
+ </ECRelationshipClass>
894
+
895
+ <ECRelationshipClass typeName="IslandEdgeOwnsAisleAspect" modifier="Sealed" strength="embedding">
896
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
897
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
898
+ <Class class="IslandEdge" />
899
+ </Source>
900
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
901
+ <Class class="EdgeAisleAspect" />
902
+ </Target>
903
+ </ECRelationshipClass>
904
+
905
+ <ECRelationshipClass typeName="PadEdgeOwnsAisleAspect" modifier="Sealed" strength="embedding">
906
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
907
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
908
+ <Class class="PadEdge" />
909
+ </Source>
910
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
911
+ <Class class="EdgeAisleAspect" />
912
+ </Target>
913
+ </ECRelationshipClass>
914
+
915
+ <ECRelationshipClass typeName="LayoutParkingEdgeOwnsAisleAspect" modifier="Sealed" strength="embedding">
916
+ <BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
917
+ <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
918
+ <Class class="LayoutParkingEdge" />
919
+ </Source>
920
+ <Target multiplicity="(0..1)" roleLabel="is owned by" polymorphic="false">
921
+ <Class class="EdgeAisleAspect" />
922
+ </Target>
923
+ </ECRelationshipClass>
924
+
925
+ </ECSchema>
package/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # @bentley/open-site-schema
2
+
3
+ Copyright © Bentley Systems, Incorporated. All rights reserved. See [LICENSE.md](./LICENSE.md) for license terms and full copyright notice.
4
+
5
+ [iTwin.js](http://itwinjs.org) is an open source platform for creating, querying, modifying, and displaying Infrastructure Digital Twins.
6
+
7
+ ## BIS Schemas
8
+
9
+ The acronym “BIS” stands for “Base Infrastructure Schemas”. BIS is an “open” and extensible family of schemas that is modularized into Domains. Please go to [iTwinjs.org](https://www.itwinjs.org/bis/) for more information.
package/package.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "@bentley/open-site-schema",
3
+ "license": "MIT",
4
+ "version": "1.0.0-dev.1",
5
+ "homepage": "https://www.itwinjs.org/",
6
+ "keywords": [
7
+ "Bentley",
8
+ "BIS",
9
+ "iModel"
10
+ ],
11
+ "description": "OpenSite BIS Domains",
12
+ "author": {
13
+ "name": "Bentley Systems, Inc.",
14
+ "url": "http://www.bentley.com"
15
+ }
16
+ }