@bentley/open-site-schema 1.0.9-dev.2 → 1.0.9-dev.3

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.
@@ -1 +1 @@
1
- {"$schema":"https://dev.bentley.com/json_schemas/ec/32/ecschema","name":"OpenSite","version":"01.00.09","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.21"},{"name":"LinearReferencing","version":"02.00.04"},{"name":"RoadRailUnits","version":"01.00.04"},{"name":"SpatialComposition","version":"01.00.02"},{"name":"StormSewerPhysical","version":"01.00.02"},{"name":"CivilPhysical","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 Edge 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},"SidewalkPathFin_Road":{"schemaItemType":"PropertyCategory","label":"Road","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_Pond":{"schemaItemType":"PropertyCategory","label":"Pond","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},"SurfaceControl_Vertex":{"schemaItemType":"PropertyCategory","label":"Surface Control","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"}]},"IntermediatePointType":{"schemaItemType":"Enumeration","label":"Intermediate Point Type","description":"Specifies the source of the intermediate point used when generating strokes for surface control rules.","type":"int","isStrict":true,"enumerators":[{"name":"NONE","value":1,"label":"None"},{"name":"COPYSTART","value":2,"label":"Copy Start"},{"name":"COPYEND","value":3,"label":"Copy End"}]},"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","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"Transition data to be stored in DrivewayTransitions instead. "}],"typeName":"double"},{"name":"SideTransitionRadius1","type":"PrimitiveProperty","description":"The inner radius of the transition.","label":"Transition Inner Radius","category":"OpenSite.DrivewayMidVertex_Transition","kindOfQuantity":"RoadRailUnits.LENGTH","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"Transition data to be stored in DrivewayTransitions instead. "}],"typeName":"double"},{"name":"SideTransitionRadius2","type":"PrimitiveProperty","description":"The outer radius of the transition.","label":"Transition Outer Radius","category":"OpenSite.DrivewayMidVertex_Transition","kindOfQuantity":"RoadRailUnits.LENGTH","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"Transition data to be stored in DrivewayTransitions instead. "}],"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","label":"Edge","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","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"Link Height has been moved to BuildingEdge and PadEdge and renamed to Fixed Height Difference."}],"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":"Grading Limit Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge","properties":[{"name":"ParkingSetback","type":"PrimitiveProperty","label":"Parking Setback","category":"OpenSite.PropertyEdge_Setbacks","kindOfQuantity":"RoadRailUnits.LENGTH","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"PropertyArea and by extension PropertyEdge is no longer used for controlling parking setbacks. PropertyArea now serves the purpose of representing grading limits only."}],"typeName":"double"},{"name":"BuildingSetback","type":"PrimitiveProperty","label":"Building Setback","category":"OpenSite.PropertyEdge_Setbacks","kindOfQuantity":"RoadRailUnits.LENGTH","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"PropertyArea and by extension PropertyEdge is no longer used for controlling building setbacks. PropertyArea now serves the purpose of representing 'grading limits' only."}],"typeName":"double"}]},"BuildingEdge":{"schemaItemType":"EntityClass","label":"Building Pad 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"},{"name":"FixedHeightDifference","type":"PrimitiveProperty","description":"Height of an edge.","label":"Fixed Height Difference","category":"OpenSite.ShapedEdge_LinkHeight","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 Area 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","properties":[{"name":"FixedHeightDifference","type":"PrimitiveProperty","description":"Height of an edge.","label":"Fixed Height Difference","category":"OpenSite.ShapedEdge_LinkHeight","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"LayoutParkingEdge":{"schemaItemType":"EntityClass","label":"Layout Parking 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_SHORT","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"}]},"DrivewayTransition":{"schemaItemType":"EntityClass","label":"Transition","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"IsPrimary","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"boolean"},{"name":"sideTransitionOffset","type":"PrimitiveProperty","description":"Length of the offset.","label":"Transition Offset","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"sideTransitionRadius1","type":"PrimitiveProperty","description":"Radius of the arc before the transition.","label":"Transition Inner Radius","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"sideTransitionRadius2","type":"PrimitiveProperty","description":"Radius of the arc after the transition.","label":"Transition Outer Radius","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"SidewalkPathEdge":{"schemaItemType":"EntityClass","label":"Sidewalk Edge","description":"Sidewalk path edge.","modifier":"Sealed","baseClass":"OpenSite.CenterlinePathEdge","properties":[{"name":"CrowningType","type":"PrimitiveProperty","description":"Type of crown design for path.","label":"Crown Type","category":"OpenSite.CenterlinePathEdge_Grading","typeName":"OpenSite.CrownType"}]},"SidewalkPathFin":{"schemaItemType":"EntityClass","label":"Sidewalk Fin","description":"One of two sides to a Sidewalk Path Edge.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"IsPrimary","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"boolean"},{"name":"SidewalkWidth","type":"PrimitiveProperty","description":"Sidewalk width for this side of the sidewalk.","label":"Sidewalk Width","category":"OpenSite.SidewalkPathFin_Road","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CrossSlope","type":"PrimitiveProperty","description":"Cross slope for this side of the sidewalk.","label":"Cross Slope","category":"OpenSite.SidewalkPathFin_Road","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"ParkingDirectionPathEdge":{"schemaItemType":"EntityClass","label":"Parking Direction Edge","description":"Parking direction path edge.","modifier":"Sealed","baseClass":"OpenSite.PathEdge"},"DrivewayPathUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPath"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"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"},{"name":"CurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.DrivewayPathUsesCurbType","direction":"Forward"}],"mixins":["LinearReferencing.ILinearElementSource","BisCore.IParentElement"]},"LayoutPath":{"schemaItemType":"EntityClass","label":"Layout Path","description":"Layout path.","modifier":"Abstract","baseClass":"OpenSite.Path"},"Path":{"schemaItemType":"EntityClass","label":"Path","modifier":"Abstract","baseClass":"OpenSite.Wire"},"Wire":{"schemaItemType":"EntityClass","label":"Wire","modifier":"Abstract","baseClass":"BisCore.SpatialLocationElement","mixins":["BisCore.IParentElement"]},"CurbType":{"schemaItemType":"EntityClass","label":"Curb Type","description":"Defines a shared set of properties whose values vary per-type of Curb rather than per-instance.","baseClass":"CivilPhysical.CurbType","properties":[{"name":"PanWidth","type":"PrimitiveProperty","description":"Width of curb pan.","label":"Pan Width","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"PanThickness","type":"PrimitiveProperty","description":"Thickness of curb pan.","label":"Pan Thickness","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"StoneExtension","type":"PrimitiveProperty","description":"Width of stone extension.","label":"Stone Extension","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"StoneThickness","type":"PrimitiveProperty","description":"Thickness of stone extension.","label":"Stone Thickness","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CurbHeight","type":"PrimitiveProperty","description":"Height of curb.","label":"Curb Height","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CurbTopWidth","type":"PrimitiveProperty","description":"Width of curb top.","label":"Curb Top Width","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CurbBottomWidth","type":"PrimitiveProperty","description":"Width of curb bottom.","label":"Curb Bottom Width","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MiterWidth","type":"PrimitiveProperty","description":"Width of curb miter.","label":"Miter Width","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MiterHeight","type":"PrimitiveProperty","description":"Height of curb miter.","label":"Miter Height","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"DrivewayAreaUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.DrivewayArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"DrivewayArea":{"schemaItemType":"EntityClass","label":"Driveway Area","description":"Driveway Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea","properties":[{"name":"CurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.DrivewayAreaUsesCurbType","direction":"Forward"}]},"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","kindOfQuantity":"RoadRailUnits.LENGTH_SHORT","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_SHORT","typeName":"double"},{"name":"RunoffCoefficient","type":"PrimitiveProperty","description":"Runoff coefficient for area.","label":"Runoff Coefficient","category":"OpenSite.ShapedArea_Surface","typeName":"double"},{"name":"FixedSlope","type":"PrimitiveProperty","description":"Fixed design slope for area.","label":"Fixed Slope","category":"OpenSite.ShapedArea_Constraints","kindOfQuantity":"RoadRailUnits.SLOPE","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"}],"mixins":["OpenSite.ISurfaceControl"]},"ISurfaceControl":{"schemaItemType":"Mixin","label":"Surface Control","description":"An interface that can be mixed-into a shaped area or layout area to indicate that it can be a surface control area.","appliesTo":"OpenSite.Area"},"Area":{"schemaItemType":"EntityClass","label":"Area","description":"Area","modifier":"Abstract","baseClass":"OpenSite.Wire"},"IslandAreaUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.IslandArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"IslandArea":{"schemaItemType":"EntityClass","label":"Island Area","description":"Island Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea","properties":[{"name":"CurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.IslandAreaUsesCurbType","direction":"Forward"}]},"ParkingAreaUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.ParkingArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"ParkingArea":{"schemaItemType":"EntityClass","label":"Parking Area","description":"Parking Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea","properties":[{"name":"CurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.ParkingAreaUsesCurbType","direction":"Forward"}]},"LayoutParkingAreaUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"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_SHORT","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_SHORT","typeName":"double"},{"name":"IslandCurbType","type":"NavigationProperty","label":"Island Curb Type","relationshipName":"OpenSite.LayoutParkingAreaUsesIslandCurbType","direction":"Forward"},{"name":"ParkingCurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.LayoutParkingAreaUsesCurbType","direction":"Forward"}]},"LayoutArea":{"schemaItemType":"EntityClass","label":"Layout Area","description":"Layout Area","modifier":"Abstract","baseClass":"OpenSite.Area","mixins":["OpenSite.ISurfaceControl"]},"LayoutParkingAreaUsesIslandCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"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"]}},"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","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"}]},"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"]}},"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 Pad","description":"Building Pad","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"]}},"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"]}},"SidewalkPathEdgeOwnsFins":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.SidewalkPathEdge"]},"target":{"multiplicity":"(2..2)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.SidewalkPathFin"]}},"DrivewayMidVertexOwnsTransitions":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayMidVertex"]},"target":{"multiplicity":"(2..2)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.DrivewayTransition"]}},"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","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":"Grading Limits","description":"Grading Limits","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"PadArea":{"schemaItemType":"EntityClass","label":"Pad Area","description":"Pad Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"LayoutPondArea":{"schemaItemType":"EntityClass","label":"Pond","description":"Layout pond area.","modifier":"Sealed","baseClass":"OpenSite.LayoutArea","properties":[{"name":"Height","type":"PrimitiveProperty","description":"Riser Top Elevation.","label":"Riser Top Elevation","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"TopHeight","type":"PrimitiveProperty","description":"Dry Storage Height.","label":"Dry Storage Height","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"WallSlope","type":"PrimitiveProperty","description":" Side Slope.","label":"Side Slope","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"WallWidth","type":"PrimitiveProperty","description":"Depth of the pond.","label":"Berm Width","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"Depth","type":"PrimitiveProperty","description":"Riser Height.","label":"Riser Height","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"SizePond","type":"PrimitiveProperty","description":"Size the pond using the target surface or volume.","label":"Size Pond","category":"OpenSite.LayoutPondArea_Pond","typeName":"boolean"},{"name":"TargetSurface","type":"PrimitiveProperty","description":"Target surface.","label":"Target Surface","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.AREA","typeName":"double"},{"name":"TargetVolume","type":"PrimitiveProperty","description":"Target volume.","label":"Target Volume","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.VOLUME","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","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"DoGrade is deprecated for Grading Area. "}],"typeName":"boolean"},{"name":"Topsoil","type":"PrimitiveProperty","description":"Topsoil depth for grading area.","label":"Topsoil","category":"OpenSite.GradingArea_Surface","kindOfQuantity":"RoadRailUnits.LENGTH_SHORT","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_SHORT","typeName":"double"},{"name":"FixedSlope","type":"PrimitiveProperty","description":"Fixed slope constraint on grading area.","label":"Fixed Slope","category":"OpenSite.GradingArea_Constraints","kindOfQuantity":"RoadRailUnits.SLOPE","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 Constraints","description":"Grading constraints area.","modifier":"Sealed","baseClass":"OpenSite.GradingArea"},"SidewalkPath":{"schemaItemType":"EntityClass","label":"Sidewalk","description":"Sidewalk path.","modifier":"Sealed","baseClass":"OpenSite.LayoutPath"},"CachedLinear":{"schemaItemType":"EntityClass","label":"Cached Linear","description":"Cached 3D Linear geometry.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"Geometry","type":"PrimitiveProperty","label":"Linear Geometry","typeName":"Bentley.Geometry.Common.IGeometry"}],"customAttributes":[{"className":"CoreCustomAttributes.HiddenClass"}]},"CachedTopSurface":{"schemaItemType":"EntityClass","label":"Cached Top Surface","description":"Cached Top Surface geometry.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"Surface","type":"PrimitiveProperty","label":"Top Surface Geometry","typeName":"Bentley.Geometry.Common.IGeometry"}],"customAttributes":[{"className":"CoreCustomAttributes.HiddenClass"}]},"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","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","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_SHORT","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 Aspect","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","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","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"]}},"AuthoringElementDrivesPlanElements":{"schemaItemType":"RelationshipClass","modifier":"None","baseClass":"BisCore.ElementDrivesElement","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"creates","polymorphic":true,"constraintClasses":["BisCore.SpatialLocationElement"]},"target":{"multiplicity":"(0..*)","roleLabel":"is created by","polymorphic":true,"constraintClasses":["SpatialComposition.Space"]}},"DistanceAlongLinearPath":{"schemaItemType":"StructClass","description":"Describes a distance along a linear path, as either an absolute distance or a percent along","modifier":"Sealed","properties":[{"name":"AbsoluteAlong","type":"PrimitiveProperty","label":"Applicable when IsDistanceAbsolute is true. It is the distance along the linear path in meters","kindOfQuantity":"RoadRailUnits.LENGTH_SHORT","typeName":"double"},{"name":"PercentAlong","type":"PrimitiveProperty","label":"Applicable when IsDistanceAbsolute is false. It is the percent along the linear path","kindOfQuantity":"RoadRailUnits.PERCENTAGE","typeName":"double"},{"name":"IsDistanceAbsolute","type":"PrimitiveProperty","label":"True if DistanceAlong property should be used, false if PercentAlong describes the distance. Undefined implies an absolute distance","typeName":"boolean"}]},"ElementDrivesElementsLinearly":{"schemaItemType":"RelationshipClass","description":"A relationship that defines a target element's location relative to the linear path defined by the source element. When the source element is changed the target element's location should be updated based on the relationship properties","modifier":"Abstract","baseClass":"BisCore.ElementDrivesElement","properties":[{"name":"DistanceAlong","type":"StructProperty","label":"Distance along linear, in meters or percent","typeName":"OpenSite.DistanceAlongLinearPath"},{"name":"Offset","type":"PrimitiveProperty","label":"Perpendicular offset from linear. Positive is to the right, negative to the left, relative to the linear path direction","kindOfQuantity":"RoadRailUnits.LENGTH_SHORT","typeName":"double"},{"name":"IsDistanceFromStart","type":"PrimitiveProperty","label":"True if distance is from the start of the linear path, false if it is from the end. Undefined implies it is from the start","typeName":"boolean"}],"strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..1)","roleLabel":"drives","polymorphic":true,"constraintClasses":["BisCore.GeometricElement"]},"target":{"multiplicity":"(0..*)","roleLabel":"is driven by","polymorphic":true,"constraintClasses":["BisCore.GeometricElement"]}},"ElementDrivesDistributionStructuresLinearly":{"schemaItemType":"RelationshipClass","description":"A relationship that defines a drainage node's location relative to the linear path defined by the source element. When the source element is changed the target element's location should be updated based on the relationship properties","modifier":"None","baseClass":"OpenSite.ElementDrivesElementsLinearly","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..1)","roleLabel":"drives","polymorphic":true,"constraintClasses":["BisCore.GeometricElement3d"]},"target":{"multiplicity":"(0..*)","roleLabel":"is driven by","polymorphic":true,"constraintClasses":["StormSewerPhysical.DistributionStructure"]}},"SpatialLocationRepresentsPhysicalElement":{"schemaItemType":"RelationshipClass","description":"A relationship that describes how a bis:SpatialLocationElement can represent a bis:PhysicalElement","modifier":"None","baseClass":"BisCore.ElementRefersToElements","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"represents","polymorphic":true,"constraintClasses":["BisCore.SpatialLocationElement"]},"target":{"multiplicity":"(0..*)","roleLabel":"is represented by","polymorphic":true,"constraintClasses":["BisCore.PhysicalElement"]}},"ISurfaceControlObject":{"schemaItemType":"Mixin","label":"Surface Control Object","description":"An interface that can be mixed-into a control vertex or control line to indicate that it can be an input for surface control.","appliesTo":"BisCore.SpatialLocationElement"},"SurfaceControlVertex":{"schemaItemType":"EntityClass","label":"Control Vertex","description":"A 3D point on a surface whose elevation is used in spatial interpolation with other control points.","baseClass":"OpenSite.Vertex","mixins":["OpenSite.ISurfaceControlObject"]},"SurfaceControlRule":{"schemaItemType":"EntityClass","description":"Surface control rule.","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement"},"SurfaceControlVertexRule":{"schemaItemType":"EntityClass","description":"A ruled constraint between two surface control vertices.","modifier":"Abstract","baseClass":"OpenSite.SurfaceControlRule","properties":[{"name":"StartVertex","type":"NavigationProperty","relationshipName":"OpenSite.SurfaceControlVertexRuleStartsAtVertex","direction":"Forward"},{"name":"EndVertex","type":"NavigationProperty","relationshipName":"OpenSite.SurfaceControlVertexRuleEndsAtVertex","direction":"Forward"},{"name":"IsStroked","type":"PrimitiveProperty","description":"Indicates whether this control vertex rule involves a stroke operation.","label":"Is Stroked","category":"OpenSite.SurfaceControl_Vertex","typeName":"boolean"},{"name":"IntermediatePointTypeSource","type":"PrimitiveProperty","description":"Specifies the type of intermediate point source used for this rule.","label":"Intermediate Point Type Source","category":"OpenSite.SurfaceControl_Vertex","typeName":"OpenSite.IntermediatePointType"}]},"SurfaceControlVertexRuleStartsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"starts at","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertexRule"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"SurfaceControlVertexRuleEndsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"ends at","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertexRule"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"SurfaceControlVertexDeltaRule":{"schemaItemType":"EntityClass","label":"Surface Control Vertex Delta Rule","description":"Constrains two surface control vertices to have a constant elevation difference between each other.","modifier":"Sealed","baseClass":"OpenSite.SurfaceControlVertexRule","properties":[{"name":"ControlVertexDelta","type":"PrimitiveProperty","description":"Delta defined by a control vertex override.","label":"Delta","category":"OpenSite.SurfaceControl_Vertex","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"SurfaceControlVertexSlopeRule":{"schemaItemType":"EntityClass","label":"Surface Control Vertex Slope Rule","description":"Constrains two surface control vertices to lie on the same line defined by the slope between them.","modifier":"Sealed","baseClass":"OpenSite.SurfaceControlVertexRule","properties":[{"name":"ControlVertexSlope","type":"PrimitiveProperty","description":"Slope defined by a control vertex override.","label":"Slope","category":"OpenSite.SurfaceControl_Vertex","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"SurfaceSlopedControlVertex":{"schemaItemType":"EntityClass","label":"Sloped Control Vertex","description":"Specialized control vertex that uses slope constraints in the spatial interpolation calculation.","baseClass":"OpenSite.SurfaceControlVertex","properties":[{"name":"Slope","type":"PrimitiveProperty","description":"Slope of the line emanating from this vertex position.","label":"Slope","category":"OpenSite.SurfaceControl_Vertex","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MinSlope","type":"PrimitiveProperty","description":"Minimum slope constraint.","label":"Min. Slope","category":"OpenSite.SurfaceControl_Vertex","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaxSlope","type":"PrimitiveProperty","description":"Maximum slope constraint.","label":"Max. Slope","category":"OpenSite.SurfaceControl_Vertex","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"SurfaceSlopedDirectionControlVertex":{"schemaItemType":"EntityClass","label":"Sloped Direction Control Vertex","description":"Specialized control vertex that uses slope constraints along a single direction in the spatial interpolation calculation.","modifier":"Sealed","baseClass":"OpenSite.SurfaceSlopedControlVertex","properties":[{"name":"Direction","type":"PrimitiveProperty","description":"Direction of the line emanating from this vertex position that constrains the elevation interpolation.","label":"Direction","category":"OpenSite.SurfaceControl_Vertex","typeName":"point2d"},{"name":"IsMirrored","type":"PrimitiveProperty","description":"Set to true to mirror the surface about its reference direction.","label":"Is Mirrored","category":"OpenSite.SurfaceControl_Vertex","typeName":"boolean"}]},"SurfaceControlLowPoint":{"schemaItemType":"EntityClass","label":"Control Low Point","description":"Defines a location point which controls low point control object.","modifier":"Sealed","baseClass":"OpenSite.SurfaceControlVertex","properties":[{"name":"ControlSlope","type":"PrimitiveProperty","description":"Slope defined by a control low point override.","label":"Slope","category":"OpenSite.SurfaceControl_Vertex","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaximumControlRadius","type":"PrimitiveProperty","description":"Max radius defined by a control low point override.","label":"Radius","category":"OpenSite.SurfaceControl_Vertex","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}],"customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlLowPoint is no longer used for surface control, use SurfaceSlopedControlVertex instead."}]},"SurfaceControlLowPointRule":{"schemaItemType":"EntityClass","label":"Surface Control Low Point Rule","description":"Surface control low point rule.","modifier":"Sealed","baseClass":"OpenSite.SurfaceControlRule","customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlLowPointRule is no longer used for surface control, use SurfaceSlopedControlVertex instead."}]},"SurfaceControlLowPointRuleGroupsVertices":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementGroupsMembers","customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlLowPointRuleGroupsVertices is no longer used for surface control."}],"strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"groups","polymorphic":false,"constraintClasses":["OpenSite.SurfaceControlLowPointRule"]},"target":{"multiplicity":"(0..*)","roleLabel":"is grouped in","polymorphic":false,"constraintClasses":["OpenSite.SurfaceControlLowPoint"]}},"SurfaceControlOwnsRules":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControl"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlRule"]}},"SurfaceControlOwnsVertices":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlOwnsVertices is no longer used for surface control, use SurfaceControlOwnsControlObjects instead."}],"strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControl"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"SurfaceControlOwnsControlObjects":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControl"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControlObject"]}},"SurfaceControlOptionsAspect":{"schemaItemType":"EntityClass","label":"Surface Control Options","modifier":"Sealed","baseClass":"BisCore.ElementUniqueAspect","properties":[{"name":"Resolution","type":"PrimitiveProperty","description":"Controls the spacing of the XY grid used when generating the triangulation for the interpolated surface.","label":"Resolution","category":"OpenSite.SurfaceControl_Vertex","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"SurfaceControlOwnsOptionsAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControl"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.SurfaceControlOptionsAspect"]}},"ControlLineEdge":{"schemaItemType":"EntityClass","label":"Control Line Edge","modifier":"Abstract","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"Order","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"int"},{"name":"StartVertex","type":"NavigationProperty","relationshipName":"OpenSite.ControlLineEdgeStartsAtVertex","direction":"Forward"},{"name":"EndVertex","type":"NavigationProperty","relationshipName":"OpenSite.ControlLineEdgeEndsAtVertex","direction":"Forward"}]},"ControlLineEdgeStartsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"starts at","polymorphic":true,"constraintClasses":["OpenSite.ControlLineEdge"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"ControlLineEdgeEndsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"ends at","polymorphic":true,"constraintClasses":["OpenSite.ControlLineEdge"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"SurfaceControlLine":{"schemaItemType":"EntityClass","label":"Surface Control Line","description":"Surface control line.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","mixins":["OpenSite.ISurfaceControlObject"]},"SurfaceControlLineOwnsEdges":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.SurfaceControlLine"]},"target":{"multiplicity":"(1..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ControlLineEdge"]}}}}
1
+ {"$schema":"https://dev.bentley.com/json_schemas/ec/32/ecschema","name":"OpenSite","version":"01.00.09","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.22"},{"name":"LinearReferencing","version":"02.00.04"},{"name":"RoadRailUnits","version":"01.00.04"},{"name":"SpatialComposition","version":"01.00.02"},{"name":"StormSewerPhysical","version":"01.00.02"},{"name":"CivilPhysical","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 Edge 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},"SidewalkPathFin_Road":{"schemaItemType":"PropertyCategory","label":"Road","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_Pond":{"schemaItemType":"PropertyCategory","label":"Pond","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},"SurfaceControl":{"schemaItemType":"PropertyCategory","label":"Surface Control","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"}]},"IntermediatePointType":{"schemaItemType":"Enumeration","label":"Intermediate Point Type","description":"When creating intermediate points along an edge, specify which vertex (if any) of which to copy properties from.","type":"int","isStrict":true,"enumerators":[{"name":"NONE","value":0,"label":"None"},{"name":"COPYSTART","value":1,"label":"Copy Start"},{"name":"COPYEND","value":2,"label":"Copy End"}]},"SurfaceControlVertexType":{"schemaItemType":"Enumeration","label":"Control Vertex Type","description":"Specifies the type of control vertex used for surface control.","type":"int","isStrict":true,"enumerators":[{"name":"NORMAL","value":0,"label":"Normal","description":"Control vertex that uses a fixed elevation for the spatial interpolation calculation."},{"name":"SLOPE","value":1,"label":"Slope","description":"Specialized control vertex that uses slope constraints in the spatial interpolation calculation."},{"name":"SLOPEDIRECTION","value":2,"label":"Slope Direction","description":"Specialized control vertex that uses slope constraints along a single direction in the spatial interpolation calculation."}]},"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","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"Transition data to be stored in DrivewayTransitions instead. "}],"typeName":"double"},{"name":"SideTransitionRadius1","type":"PrimitiveProperty","description":"The inner radius of the transition.","label":"Transition Inner Radius","category":"OpenSite.DrivewayMidVertex_Transition","kindOfQuantity":"RoadRailUnits.LENGTH","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"Transition data to be stored in DrivewayTransitions instead. "}],"typeName":"double"},{"name":"SideTransitionRadius2","type":"PrimitiveProperty","description":"The outer radius of the transition.","label":"Transition Outer Radius","category":"OpenSite.DrivewayMidVertex_Transition","kindOfQuantity":"RoadRailUnits.LENGTH","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"Transition data to be stored in DrivewayTransitions instead. "}],"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","label":"Edge","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","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"Link Height has been moved to BuildingEdge and PadEdge and renamed to Fixed Height Difference."}],"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":"Grading Limit Edge","modifier":"Sealed","baseClass":"OpenSite.ShapedEdge","properties":[{"name":"ParkingSetback","type":"PrimitiveProperty","label":"Parking Setback","category":"OpenSite.PropertyEdge_Setbacks","kindOfQuantity":"RoadRailUnits.LENGTH","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"PropertyArea and by extension PropertyEdge is no longer used for controlling parking setbacks. PropertyArea now serves the purpose of representing grading limits only."}],"typeName":"double"},{"name":"BuildingSetback","type":"PrimitiveProperty","label":"Building Setback","category":"OpenSite.PropertyEdge_Setbacks","kindOfQuantity":"RoadRailUnits.LENGTH","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"PropertyArea and by extension PropertyEdge is no longer used for controlling building setbacks. PropertyArea now serves the purpose of representing 'grading limits' only."}],"typeName":"double"}]},"BuildingEdge":{"schemaItemType":"EntityClass","label":"Building Pad 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"},{"name":"FixedHeightDifference","type":"PrimitiveProperty","description":"Height of an edge.","label":"Fixed Height Difference","category":"OpenSite.ShapedEdge_LinkHeight","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 Area 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","properties":[{"name":"FixedHeightDifference","type":"PrimitiveProperty","description":"Height of an edge.","label":"Fixed Height Difference","category":"OpenSite.ShapedEdge_LinkHeight","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"LayoutParkingEdge":{"schemaItemType":"EntityClass","label":"Layout Parking 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_SHORT","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"}]},"DrivewayTransition":{"schemaItemType":"EntityClass","label":"Transition","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"IsPrimary","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"boolean"},{"name":"sideTransitionOffset","type":"PrimitiveProperty","description":"Length of the offset.","label":"Transition Offset","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"sideTransitionRadius1","type":"PrimitiveProperty","description":"Radius of the arc before the transition.","label":"Transition Inner Radius","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"sideTransitionRadius2","type":"PrimitiveProperty","description":"Radius of the arc after the transition.","label":"Transition Outer Radius","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"SidewalkPathEdge":{"schemaItemType":"EntityClass","label":"Sidewalk Edge","description":"Sidewalk path edge.","modifier":"Sealed","baseClass":"OpenSite.CenterlinePathEdge","properties":[{"name":"CrowningType","type":"PrimitiveProperty","description":"Type of crown design for path.","label":"Crown Type","category":"OpenSite.CenterlinePathEdge_Grading","typeName":"OpenSite.CrownType"}]},"SidewalkPathFin":{"schemaItemType":"EntityClass","label":"Sidewalk Fin","description":"One of two sides to a Sidewalk Path Edge.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"IsPrimary","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"boolean"},{"name":"SidewalkWidth","type":"PrimitiveProperty","description":"Sidewalk width for this side of the sidewalk.","label":"Sidewalk Width","category":"OpenSite.SidewalkPathFin_Road","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CrossSlope","type":"PrimitiveProperty","description":"Cross slope for this side of the sidewalk.","label":"Cross Slope","category":"OpenSite.SidewalkPathFin_Road","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"ParkingDirectionPathEdge":{"schemaItemType":"EntityClass","label":"Parking Direction Edge","description":"Parking direction path edge.","modifier":"Sealed","baseClass":"OpenSite.PathEdge"},"DrivewayPathUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.DrivewayPath"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"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"},{"name":"CurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.DrivewayPathUsesCurbType","direction":"Forward"}],"mixins":["LinearReferencing.ILinearElementSource","BisCore.IParentElement"]},"LayoutPath":{"schemaItemType":"EntityClass","label":"Layout Path","description":"Layout path.","modifier":"Abstract","baseClass":"OpenSite.Path"},"Path":{"schemaItemType":"EntityClass","label":"Path","modifier":"Abstract","baseClass":"OpenSite.Wire"},"Wire":{"schemaItemType":"EntityClass","label":"Wire","modifier":"Abstract","baseClass":"BisCore.SpatialLocationElement","mixins":["BisCore.IParentElement"]},"CurbType":{"schemaItemType":"EntityClass","label":"Curb Type","description":"Defines a shared set of properties whose values vary per-type of Curb rather than per-instance.","baseClass":"CivilPhysical.CurbType","properties":[{"name":"PanWidth","type":"PrimitiveProperty","description":"Width of curb pan.","label":"Pan Width","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"PanThickness","type":"PrimitiveProperty","description":"Thickness of curb pan.","label":"Pan Thickness","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"StoneExtension","type":"PrimitiveProperty","description":"Width of stone extension.","label":"Stone Extension","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"StoneThickness","type":"PrimitiveProperty","description":"Thickness of stone extension.","label":"Stone Thickness","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CurbHeight","type":"PrimitiveProperty","description":"Height of curb.","label":"Curb Height","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CurbTopWidth","type":"PrimitiveProperty","description":"Width of curb top.","label":"Curb Top Width","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"CurbBottomWidth","type":"PrimitiveProperty","description":"Width of curb bottom.","label":"Curb Bottom Width","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MiterWidth","type":"PrimitiveProperty","description":"Width of curb miter.","label":"Miter Width","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"MiterHeight","type":"PrimitiveProperty","description":"Height of curb miter.","label":"Miter Height","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"DrivewayAreaUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.DrivewayArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"DrivewayArea":{"schemaItemType":"EntityClass","label":"Driveway Area","description":"Driveway Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea","properties":[{"name":"CurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.DrivewayAreaUsesCurbType","direction":"Forward"}]},"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","kindOfQuantity":"RoadRailUnits.LENGTH_SHORT","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_SHORT","typeName":"double"},{"name":"RunoffCoefficient","type":"PrimitiveProperty","description":"Runoff coefficient for area.","label":"Runoff Coefficient","category":"OpenSite.ShapedArea_Surface","typeName":"double"},{"name":"FixedSlope","type":"PrimitiveProperty","description":"Fixed design slope for area.","label":"Fixed Slope","category":"OpenSite.ShapedArea_Constraints","kindOfQuantity":"RoadRailUnits.SLOPE","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"}],"mixins":["OpenSite.ISurfaceControl"]},"ISurfaceControl":{"schemaItemType":"Mixin","label":"Surface Control","description":"An interface that can be mixed-into a shaped area or layout area to indicate that it can be a surface control area.","appliesTo":"OpenSite.Area"},"Area":{"schemaItemType":"EntityClass","label":"Area","description":"Area","modifier":"Abstract","baseClass":"OpenSite.Wire"},"IslandAreaUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.IslandArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"IslandArea":{"schemaItemType":"EntityClass","label":"Island Area","description":"Island Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea","properties":[{"name":"CurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.IslandAreaUsesCurbType","direction":"Forward"}]},"ParkingAreaUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.ParkingArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"ParkingArea":{"schemaItemType":"EntityClass","label":"Parking Area","description":"Parking Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea","properties":[{"name":"CurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.ParkingAreaUsesCurbType","direction":"Forward"}]},"LayoutParkingAreaUsesCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"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_SHORT","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_SHORT","typeName":"double"},{"name":"IslandCurbType","type":"NavigationProperty","label":"Island Curb Type","relationshipName":"OpenSite.LayoutParkingAreaUsesIslandCurbType","direction":"Forward"},{"name":"ParkingCurbType","type":"NavigationProperty","label":"Curb Type","relationshipName":"OpenSite.LayoutParkingAreaUsesCurbType","direction":"Forward"}]},"LayoutArea":{"schemaItemType":"EntityClass","label":"Layout Area","description":"Layout Area","modifier":"Abstract","baseClass":"OpenSite.Area","mixins":["OpenSite.ISurfaceControl"]},"LayoutParkingAreaUsesIslandCurbType":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"uses","polymorphic":false,"constraintClasses":["OpenSite.LayoutParkingArea"]},"target":{"multiplicity":"(0..1)","roleLabel":"is used by","polymorphic":true,"constraintClasses":["OpenSite.CurbType"]}},"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"]}},"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","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"}]},"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"]}},"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 Pad","description":"Building Pad","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"]}},"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"]}},"SidewalkPathEdgeOwnsFins":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.SidewalkPathEdge"]},"target":{"multiplicity":"(2..2)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.SidewalkPathFin"]}},"DrivewayMidVertexOwnsTransitions":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.DrivewayMidVertex"]},"target":{"multiplicity":"(2..2)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.DrivewayTransition"]}},"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","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":"Grading Limits","description":"Grading Limits","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"PadArea":{"schemaItemType":"EntityClass","label":"Pad Area","description":"Pad Area","modifier":"Sealed","baseClass":"OpenSite.ShapedArea"},"LayoutPondArea":{"schemaItemType":"EntityClass","label":"Pond","description":"Layout pond area.","modifier":"Sealed","baseClass":"OpenSite.LayoutArea","properties":[{"name":"Height","type":"PrimitiveProperty","description":"Riser Top Elevation.","label":"Riser Top Elevation","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"TopHeight","type":"PrimitiveProperty","description":"Dry Storage Height.","label":"Dry Storage Height","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"WallSlope","type":"PrimitiveProperty","description":" Side Slope.","label":"Side Slope","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"WallWidth","type":"PrimitiveProperty","description":"Depth of the pond.","label":"Berm Width","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"Depth","type":"PrimitiveProperty","description":"Riser Height.","label":"Riser Height","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"},{"name":"SizePond","type":"PrimitiveProperty","description":"Size the pond using the target surface or volume.","label":"Size Pond","category":"OpenSite.LayoutPondArea_Pond","typeName":"boolean"},{"name":"TargetSurface","type":"PrimitiveProperty","description":"Target surface.","label":"Target Surface","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.AREA","typeName":"double"},{"name":"TargetVolume","type":"PrimitiveProperty","description":"Target volume.","label":"Target Volume","category":"OpenSite.LayoutPondArea_Pond","kindOfQuantity":"RoadRailUnits.VOLUME","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","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"},{"className":"CoreCustomAttributes.Deprecated","Description":"DoGrade is deprecated for Grading Area. "}],"typeName":"boolean"},{"name":"Topsoil","type":"PrimitiveProperty","description":"Topsoil depth for grading area.","label":"Topsoil","category":"OpenSite.GradingArea_Surface","kindOfQuantity":"RoadRailUnits.LENGTH_SHORT","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_SHORT","typeName":"double"},{"name":"FixedSlope","type":"PrimitiveProperty","description":"Fixed slope constraint on grading area.","label":"Fixed Slope","category":"OpenSite.GradingArea_Constraints","kindOfQuantity":"RoadRailUnits.SLOPE","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 Constraints","description":"Grading constraints area.","modifier":"Sealed","baseClass":"OpenSite.GradingArea"},"SidewalkPath":{"schemaItemType":"EntityClass","label":"Sidewalk","description":"Sidewalk path.","modifier":"Sealed","baseClass":"OpenSite.LayoutPath"},"CachedLinear":{"schemaItemType":"EntityClass","label":"Cached Linear","description":"Cached 3D Linear geometry.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"Geometry","type":"PrimitiveProperty","label":"Linear Geometry","typeName":"Bentley.Geometry.Common.IGeometry"}],"customAttributes":[{"className":"CoreCustomAttributes.HiddenClass"}]},"CachedTopSurface":{"schemaItemType":"EntityClass","label":"Cached Top Surface","description":"Cached Top Surface geometry.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"Surface","type":"PrimitiveProperty","label":"Top Surface Geometry","typeName":"Bentley.Geometry.Common.IGeometry"}],"customAttributes":[{"className":"CoreCustomAttributes.HiddenClass"}]},"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","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","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_SHORT","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 Aspect","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","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","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"]}},"AuthoringElementDrivesPlanElements":{"schemaItemType":"RelationshipClass","modifier":"None","baseClass":"BisCore.ElementDrivesElement","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"creates","polymorphic":true,"constraintClasses":["BisCore.SpatialLocationElement"]},"target":{"multiplicity":"(0..*)","roleLabel":"is created by","polymorphic":true,"constraintClasses":["SpatialComposition.Space"]}},"DistanceAlongLinearPath":{"schemaItemType":"StructClass","description":"Describes a distance along a linear path, as either an absolute distance or a percent along","modifier":"Sealed","properties":[{"name":"AbsoluteAlong","type":"PrimitiveProperty","label":"Applicable when IsDistanceAbsolute is true. It is the distance along the linear path in meters","kindOfQuantity":"RoadRailUnits.LENGTH_SHORT","typeName":"double"},{"name":"PercentAlong","type":"PrimitiveProperty","label":"Applicable when IsDistanceAbsolute is false. It is the percent along the linear path","kindOfQuantity":"RoadRailUnits.PERCENTAGE","typeName":"double"},{"name":"IsDistanceAbsolute","type":"PrimitiveProperty","label":"True if DistanceAlong property should be used, false if PercentAlong describes the distance. Undefined implies an absolute distance","typeName":"boolean"}]},"ElementDrivesElementsLinearly":{"schemaItemType":"RelationshipClass","description":"A relationship that defines a target element's location relative to the linear path defined by the source element. When the source element is changed the target element's location should be updated based on the relationship properties","modifier":"Abstract","baseClass":"BisCore.ElementDrivesElement","properties":[{"name":"DistanceAlong","type":"StructProperty","label":"Distance along linear, in meters or percent","typeName":"OpenSite.DistanceAlongLinearPath"},{"name":"Offset","type":"PrimitiveProperty","label":"Perpendicular offset from linear. Positive is to the right, negative to the left, relative to the linear path direction","kindOfQuantity":"RoadRailUnits.LENGTH_SHORT","typeName":"double"},{"name":"IsDistanceFromStart","type":"PrimitiveProperty","label":"True if distance is from the start of the linear path, false if it is from the end. Undefined implies it is from the start","typeName":"boolean"}],"strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..1)","roleLabel":"drives","polymorphic":true,"constraintClasses":["BisCore.GeometricElement"]},"target":{"multiplicity":"(0..*)","roleLabel":"is driven by","polymorphic":true,"constraintClasses":["BisCore.GeometricElement"]}},"ElementDrivesDistributionStructuresLinearly":{"schemaItemType":"RelationshipClass","description":"A relationship that defines a drainage node's location relative to the linear path defined by the source element. When the source element is changed the target element's location should be updated based on the relationship properties","modifier":"None","baseClass":"OpenSite.ElementDrivesElementsLinearly","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..1)","roleLabel":"drives","polymorphic":true,"constraintClasses":["BisCore.GeometricElement3d"]},"target":{"multiplicity":"(0..*)","roleLabel":"is driven by","polymorphic":true,"constraintClasses":["StormSewerPhysical.DistributionStructure"]}},"SpatialLocationRepresentsPhysicalElement":{"schemaItemType":"RelationshipClass","description":"A relationship that describes how a bis:SpatialLocationElement can represent a bis:PhysicalElement","modifier":"None","baseClass":"BisCore.ElementRefersToElements","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"represents","polymorphic":true,"constraintClasses":["BisCore.SpatialLocationElement"]},"target":{"multiplicity":"(0..*)","roleLabel":"is represented by","polymorphic":true,"constraintClasses":["BisCore.PhysicalElement"]}},"ISurfaceControlObject":{"schemaItemType":"Mixin","label":"Surface Control Object","description":"An interface that represents a spatial entity that is processed into one or more control points for controlling a surface.","baseClass":"OpenSite.ISurfaceControlElement","appliesTo":"BisCore.SpatialElement"},"ISurfaceControlElement":{"schemaItemType":"Mixin","label":"Surface Control Element","description":"An interface used to identify any entity that participates in surface control.","appliesTo":"BisCore.Element"},"SurfaceControlVertex":{"schemaItemType":"EntityClass","label":"Control Vertex","description":"A 3D point on a surface whose elevation is used in spatial interpolation with other control points.","baseClass":"OpenSite.Vertex","properties":[{"name":"VertexType","type":"PrimitiveProperty","description":"Specifies the type of control vertex used.","label":"Control Vertex Type","category":"OpenSite.SurfaceControl","typeName":"OpenSite.SurfaceControlVertexType"},{"name":"Slope","type":"PrimitiveProperty","description":"Slope of the line emanating from this vertex position.","label":"Slope","category":"OpenSite.SurfaceControl","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MinSlope","type":"PrimitiveProperty","description":"Minimum slope constraint.","label":"Min. Slope","category":"OpenSite.SurfaceControl","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaxSlope","type":"PrimitiveProperty","description":"Maximum slope constraint.","label":"Max. Slope","category":"OpenSite.SurfaceControl","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"Direction","type":"PrimitiveProperty","description":"Direction of the line emanating from this vertex position that constrains the elevation interpolation.","label":"Direction","category":"OpenSite.SurfaceControl","typeName":"point2d"},{"name":"Mirrored","type":"PrimitiveProperty","description":"True if the direction constraint should represent two lines emanating from the position, forming a V shape, or false if it should be a single line passing through the position.","label":"Mirrored","category":"OpenSite.SurfaceControl","typeName":"boolean"}],"mixins":["OpenSite.ISurfaceControlObject"]},"SurfaceControlRule":{"schemaItemType":"EntityClass","description":"Represents a rule that has update logic between one or more elements.","modifier":"Abstract","baseClass":"BisCore.InformationRecordElement","mixins":["OpenSite.ISurfaceControlElement"]},"SurfaceControlStrokeOptions":{"schemaItemType":"StructClass","description":"Specifies stroking options for a linear element.","modifier":"Sealed","properties":[{"name":"IsBreakline","type":"PrimitiveProperty","description":"Indicates whether the stroke is a breakline.","label":"Is Breakline","category":"OpenSite.SurfaceControl","typeName":"boolean"},{"name":"EmitControlPoints","type":"PrimitiveProperty","description":"Indicates whether the stroke operation emit intermediate control points.","label":"Emit Control Points","category":"OpenSite.SurfaceControl","typeName":"boolean"},{"name":"ControlPointTypeSource","type":"PrimitiveProperty","description":"Specifies the source to derive the intermediate control point type from.","label":"Control Point Type Source","category":"OpenSite.SurfaceControl","typeName":"OpenSite.IntermediatePointType"}]},"SurfaceControlVertexRule":{"schemaItemType":"EntityClass","description":"A ruled constraint between two surface control vertices.","modifier":"Abstract","baseClass":"OpenSite.SurfaceControlRule","properties":[{"name":"StartVertex","type":"NavigationProperty","relationshipName":"OpenSite.SurfaceControlVertexRuleStartsAtVertex","direction":"Forward"},{"name":"EndVertex","type":"NavigationProperty","relationshipName":"OpenSite.SurfaceControlVertexRuleEndsAtVertex","direction":"Forward"},{"name":"StrokeOptions","type":"StructProperty","description":"Specifies stroke options for adding points along the path.","label":"Stroke Options","typeName":"OpenSite.SurfaceControlStrokeOptions"}]},"SurfaceControlVertexRuleStartsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"starts at","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertexRule"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"SurfaceControlVertexRuleEndsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"ends at","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertexRule"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"SurfaceControlVertexDeltaRule":{"schemaItemType":"EntityClass","label":"Surface Control Vertex Delta Rule","description":"Constrains two surface control vertices to have a constant elevation difference between each other.","modifier":"Sealed","baseClass":"OpenSite.SurfaceControlVertexRule","properties":[{"name":"ControlVertexDelta","type":"PrimitiveProperty","description":"Delta defined by a control vertex override.","label":"Delta","category":"OpenSite.SurfaceControl","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"SurfaceControlVertexSlopeRule":{"schemaItemType":"EntityClass","label":"Surface Control Vertex Slope Rule","description":"Constrains two surface control vertices to lie on the same line defined by the slope between them.","modifier":"Sealed","baseClass":"OpenSite.SurfaceControlVertexRule","properties":[{"name":"ControlVertexSlope","type":"PrimitiveProperty","description":"Slope defined by a control vertex override.","label":"Slope","category":"OpenSite.SurfaceControl","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"}]},"SurfaceControlLowPoint":{"schemaItemType":"EntityClass","label":"Control Low Point","description":"Defines a location point which controls low point control object.","modifier":"Sealed","baseClass":"OpenSite.SurfaceControlVertex","properties":[{"name":"ControlSlope","type":"PrimitiveProperty","description":"Slope defined by a control low point override.","label":"Slope","category":"OpenSite.SurfaceControl","kindOfQuantity":"RoadRailUnits.SLOPE","typeName":"double"},{"name":"MaximumControlRadius","type":"PrimitiveProperty","description":"Max radius defined by a control low point override.","label":"Radius","category":"OpenSite.SurfaceControl","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}],"customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlLowPoint is no longer used for surface control, use SurfaceSlopedControlVertex instead."}]},"SurfaceControlLowPointRule":{"schemaItemType":"EntityClass","label":"Surface Control Low Point Rule","description":"Surface control low point rule.","modifier":"Sealed","baseClass":"OpenSite.SurfaceControlRule","customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlLowPointRule is no longer used for surface control, use SurfaceSlopedControlVertex instead."}]},"SurfaceControlLowPointRuleGroupsVertices":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementGroupsMembers","customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlLowPointRuleGroupsVertices is no longer used for surface control."}],"strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"groups","polymorphic":false,"constraintClasses":["OpenSite.SurfaceControlLowPointRule"]},"target":{"multiplicity":"(0..*)","roleLabel":"is grouped in","polymorphic":false,"constraintClasses":["OpenSite.SurfaceControlLowPoint"]}},"SurfaceControlOwnsRules":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlOwnsRules is no longer used for surface control, use SurfaceControlOwnsControlElement instead."}],"strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControl"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlRule"]}},"SurfaceControlOwnsVertices":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","customAttributes":[{"className":"CoreCustomAttributes.Deprecated","Description":"SurfaceControlOwnsVertices is no longer used for surface control, use SurfaceControlOwnsControlElement instead."}],"strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControl"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"SurfaceControlOwnsControlElement":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControl"]},"target":{"multiplicity":"(0..*)","roleLabel":"is owned by","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControlElement"]}},"SurfaceControlOptionsAspect":{"schemaItemType":"EntityClass","label":"Surface Control Options","modifier":"Sealed","baseClass":"BisCore.ElementUniqueAspect","properties":[{"name":"Resolution","type":"PrimitiveProperty","description":"Controls the spacing of the XY grid used when generating the triangulation for the interpolated surface.","label":"Resolution","category":"OpenSite.SurfaceControl","kindOfQuantity":"RoadRailUnits.LENGTH","typeName":"double"}]},"SurfaceControlOwnsOptionsAspect":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsUniqueAspect","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":true,"constraintClasses":["OpenSite.ISurfaceControl"]},"target":{"multiplicity":"(0..1)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.SurfaceControlOptionsAspect"]}},"ControlLineEdge":{"schemaItemType":"EntityClass","label":"Control Line Edge","modifier":"Abstract","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"Order","type":"PrimitiveProperty","customAttributes":[{"className":"CoreCustomAttributes.HiddenProperty"}],"typeName":"int"},{"name":"StartVertex","type":"NavigationProperty","relationshipName":"OpenSite.ControlLineEdgeStartsAtVertex","direction":"Forward"},{"name":"EndVertex","type":"NavigationProperty","relationshipName":"OpenSite.ControlLineEdgeEndsAtVertex","direction":"Forward"}]},"ControlLineEdgeStartsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"starts at","polymorphic":true,"constraintClasses":["OpenSite.ControlLineEdge"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"ControlLineEdgeEndsAtVertex":{"schemaItemType":"RelationshipClass","modifier":"Sealed","strength":"Referencing","strengthDirection":"Forward","source":{"multiplicity":"(0..*)","roleLabel":"ends at","polymorphic":true,"constraintClasses":["OpenSite.ControlLineEdge"]},"target":{"multiplicity":"(1..1)","roleLabel":"connects to","polymorphic":true,"constraintClasses":["OpenSite.SurfaceControlVertex"]}},"SurfaceControlLine":{"schemaItemType":"EntityClass","label":"Surface Control Line","description":"Surface control line.","modifier":"Sealed","baseClass":"BisCore.SpatialLocationElement","properties":[{"name":"StrokeOptions","type":"StructProperty","description":"Specifies stroke options for adding points along the path.","label":"Stroke Options","typeName":"OpenSite.SurfaceControlStrokeOptions"}],"mixins":["OpenSite.ISurfaceControlObject"]},"SurfaceControlLineOwnsEdges":{"schemaItemType":"RelationshipClass","modifier":"Sealed","baseClass":"BisCore.ElementOwnsChildElements","strength":"Embedding","strengthDirection":"Forward","source":{"multiplicity":"(1..1)","roleLabel":"owns","polymorphic":false,"constraintClasses":["OpenSite.SurfaceControlLine"]},"target":{"multiplicity":"(1..*)","roleLabel":"is owned by","polymorphic":false,"constraintClasses":["OpenSite.ControlLineEdge"]}}}}
@@ -64,7 +64,7 @@
64
64
  <PropertyCategory typeName="EdgeOnSideParkingAspect_Parking" displayLabel="OnSide Parking" priority="0" />
65
65
  <PropertyCategory typeName="EdgeOnSideParkingAspect_Grading" displayLabel="OnSide Parking Grading" priority="0" />
66
66
 
67
- <PropertyCategory typeName="SurfaceControl_Vertex" displayLabel="Surface Control" priority="0" />
67
+ <PropertyCategory typeName="SurfaceControl" displayLabel="Surface Control" priority="0" />
68
68
 
69
69
  <ECEnumeration typeName="IslandType" backingTypeName="int" isStrict="true" displayLabel="Island Type" description="Describes the parking island construction type.">
70
70
  <ECEnumerator value="0" name="UNSET" displayLabel="Not Set" />
@@ -105,10 +105,16 @@
105
105
  <ECEnumerator value="4" name="FLEXIBLE" displayLabel="Flexible" />
106
106
  </ECEnumeration>
107
107
 
108
- <ECEnumeration typeName="IntermediatePointType" backingTypeName="int" isStrict="true" displayLabel="Intermediate Point Type" description="Specifies the source of the intermediate point used when generating strokes for surface control rules.">
109
- <ECEnumerator value="1" name="NONE" displayLabel="None" />
110
- <ECEnumerator value="2" name="COPYSTART" displayLabel="Copy Start" />
111
- <ECEnumerator value="3" name="COPYEND" displayLabel="Copy End" />
108
+ <ECEnumeration typeName="IntermediatePointType" backingTypeName="int" isStrict="true" displayLabel="Intermediate Point Type" description="When creating intermediate points along an edge, specify which vertex (if any) of which to copy properties from.">
109
+ <ECEnumerator value="0" name="NONE" displayLabel="None" />
110
+ <ECEnumerator value="1" name="COPYSTART" displayLabel="Copy Start" />
111
+ <ECEnumerator value="2" name="COPYEND" displayLabel="Copy End" />
112
+ </ECEnumeration>
113
+
114
+ <ECEnumeration typeName="SurfaceControlVertexType" backingTypeName="int" isStrict="true" displayLabel="Control Vertex Type" description="Specifies the type of control vertex used for surface control.">
115
+ <ECEnumerator value="0" name="NORMAL" displayLabel="Normal" description="Control vertex that uses a fixed elevation for the spatial interpolation calculation." />
116
+ <ECEnumerator value="1" name="SLOPE" displayLabel="Slope" description="Specialized control vertex that uses slope constraints in the spatial interpolation calculation." />
117
+ <ECEnumerator value="2" name="SLOPEDIRECTION" displayLabel="Slope Direction" description="Specialized control vertex that uses slope constraints along a single direction in the spatial interpolation calculation." />
112
118
  </ECEnumeration>
113
119
 
114
120
  <ECEntityClass typeName="Vertex" modifier="Abstract" displayLabel="Vertex">
@@ -1201,10 +1207,20 @@
1201
1207
  </ECCustomAttributes>
1202
1208
  </ECEntityClass>
1203
1209
 
1204
- <ECEntityClass typeName="ISurfaceControlObject" modifier="Abstract" displayLabel="Surface Control Object" description="An interface that can be mixed-into a control vertex or control line to indicate that it can be an input for surface control.">
1210
+ <ECEntityClass typeName="ISurfaceControlObject" modifier="Abstract" displayLabel="Surface Control Object" description="An interface that represents a spatial entity that is processed into one or more control points for controlling a surface.">
1211
+ <BaseClass>ISurfaceControlElement</BaseClass>
1212
+
1205
1213
  <ECCustomAttributes>
1206
1214
  <IsMixin xmlns="CoreCustomAttributes.01.00.03">
1207
- <AppliesToEntityClass>bis:SpatialLocationElement</AppliesToEntityClass>
1215
+ <AppliesToEntityClass>bis:SpatialElement</AppliesToEntityClass>
1216
+ </IsMixin>
1217
+ </ECCustomAttributes>
1218
+ </ECEntityClass>
1219
+
1220
+ <ECEntityClass typeName="ISurfaceControlElement" modifier="Abstract" displayLabel="Surface Control Element" description="An interface used to identify any entity that participates in surface control.">
1221
+ <ECCustomAttributes>
1222
+ <IsMixin xmlns="CoreCustomAttributes.01.00.03">
1223
+ <AppliesToEntityClass>bis:Element</AppliesToEntityClass>
1208
1224
  </IsMixin>
1209
1225
  </ECCustomAttributes>
1210
1226
  </ECEntityClass>
@@ -1212,20 +1228,32 @@
1212
1228
  <ECEntityClass typeName="SurfaceControlVertex" modifier="None" displayLabel="Control Vertex" description="A 3D point on a surface whose elevation is used in spatial interpolation with other control points.">
1213
1229
  <BaseClass>Vertex</BaseClass>
1214
1230
  <BaseClass>ISurfaceControlObject</BaseClass>
1231
+
1232
+ <ECProperty propertyName="VertexType" typeName="SurfaceControlVertexType" category="SurfaceControl" displayLabel="Control Vertex Type" description="Specifies the type of control vertex used." />
1233
+ <ECProperty propertyName="Slope" typeName="double" category="SurfaceControl" kindOfQuantity="rru:SLOPE" displayLabel="Slope" description="Slope of the line emanating from this vertex position." />
1234
+ <ECProperty propertyName="MinSlope" typeName="double" category="SurfaceControl" kindOfQuantity="rru:SLOPE" displayLabel="Min. Slope" description="Minimum slope constraint." />
1235
+ <ECProperty propertyName="MaxSlope" typeName="double" category="SurfaceControl" kindOfQuantity="rru:SLOPE" displayLabel="Max. Slope" description="Maximum slope constraint." />
1236
+ <ECProperty propertyName="Direction" typeName="Point2d" category="SurfaceControl" displayLabel="Direction" description="Direction of the line emanating from this vertex position that constrains the elevation interpolation."/>
1237
+ <ECProperty propertyName="Mirrored" typeName="boolean" category="SurfaceControl" displayLabel="Mirrored" description="True if the direction constraint should represent two lines emanating from the position, forming a V shape, or false if it should be a single line passing through the position."/>
1215
1238
  </ECEntityClass>
1216
1239
 
1217
- <ECEntityClass typeName="SurfaceControlRule" modifier="Abstract" description="Surface control rule.">
1240
+ <ECEntityClass typeName="SurfaceControlRule" modifier="Abstract" description="Represents a rule that has update logic between one or more elements.">
1218
1241
  <BaseClass>bis:InformationRecordElement</BaseClass>
1242
+ <BaseClass>ISurfaceControlElement</BaseClass>
1219
1243
  </ECEntityClass>
1220
1244
 
1245
+ <ECStructClass typeName="SurfaceControlStrokeOptions" description="Specifies stroking options for a linear element." modifier="Sealed">
1246
+ <ECProperty propertyName="IsBreakline" typeName="boolean" category="SurfaceControl" displayLabel="Is Breakline" description="Indicates whether the stroke is a breakline."/>
1247
+ <ECProperty propertyName="EmitControlPoints" typeName="boolean" category="SurfaceControl" displayLabel="Emit Control Points" description="Indicates whether the stroke operation emit intermediate control points." />
1248
+ <ECProperty propertyName="ControlPointTypeSource" typeName="IntermediatePointType" category="SurfaceControl" displayLabel="Control Point Type Source" description="Specifies the source to derive the intermediate control point type from."/>
1249
+ </ECStructClass>
1250
+
1221
1251
  <ECEntityClass typeName="SurfaceControlVertexRule" modifier="Abstract" description="A ruled constraint between two surface control vertices.">
1222
1252
  <BaseClass>SurfaceControlRule</BaseClass>
1223
1253
 
1224
1254
  <ECNavigationProperty propertyName="StartVertex" relationshipName="SurfaceControlVertexRuleStartsAtVertex" direction="Forward" />
1225
1255
  <ECNavigationProperty propertyName="EndVertex" relationshipName="SurfaceControlVertexRuleEndsAtVertex" direction="Forward" />
1226
-
1227
- <ECProperty propertyName="IsStroked" typeName="boolean" category="SurfaceControl_Vertex" displayLabel="Is Stroked" description="Indicates whether this control vertex rule involves a stroke operation."/>
1228
- <ECProperty propertyName="IntermediatePointTypeSource" typeName="IntermediatePointType" category="SurfaceControl_Vertex" displayLabel="Intermediate Point Type Source" description="Specifies the type of intermediate point source used for this rule." />
1256
+ <ECStructProperty propertyName="StrokeOptions" typeName="SurfaceControlStrokeOptions" displayLabel="Stroke Options" description="Specifies stroke options for adding points along the path." />
1229
1257
  </ECEntityClass>
1230
1258
 
1231
1259
  <ECRelationshipClass typeName="SurfaceControlVertexRuleStartsAtVertex" strength="referencing" modifier="Sealed">
@@ -1249,29 +1277,13 @@
1249
1277
  <ECEntityClass typeName="SurfaceControlVertexDeltaRule" modifier="Sealed" displayLabel="Surface Control Vertex Delta Rule" description="Constrains two surface control vertices to have a constant elevation difference between each other.">
1250
1278
  <BaseClass>SurfaceControlVertexRule</BaseClass>
1251
1279
 
1252
- <ECProperty propertyName="ControlVertexDelta" typeName="double" category="SurfaceControl_Vertex" kindOfQuantity="rru:LENGTH" displayLabel="Delta" description="Delta defined by a control vertex override." />
1280
+ <ECProperty propertyName="ControlVertexDelta" typeName="double" category="SurfaceControl" kindOfQuantity="rru:LENGTH" displayLabel="Delta" description="Delta defined by a control vertex override." />
1253
1281
  </ECEntityClass>
1254
1282
 
1255
1283
  <ECEntityClass typeName="SurfaceControlVertexSlopeRule" modifier="Sealed" displayLabel="Surface Control Vertex Slope Rule" description="Constrains two surface control vertices to lie on the same line defined by the slope between them.">
1256
1284
  <BaseClass>SurfaceControlVertexRule</BaseClass>
1257
1285
 
1258
- <ECProperty propertyName="ControlVertexSlope" typeName="double" category="SurfaceControl_Vertex" kindOfQuantity="rru:SLOPE" displayLabel="Slope" description="Slope defined by a control vertex override." />
1259
- </ECEntityClass>
1260
-
1261
- <ECEntityClass typeName="SurfaceSlopedControlVertex" modifier="None" displayLabel="Sloped Control Vertex" description="Specialized control vertex that uses slope constraints in the spatial interpolation calculation.">
1262
- <BaseClass>SurfaceControlVertex</BaseClass>
1263
-
1264
- <ECProperty propertyName="Slope" typeName="double" category="SurfaceControl_Vertex" kindOfQuantity="rru:SLOPE" displayLabel="Slope" description="Slope of the line emanating from this vertex position." />
1265
- <ECProperty propertyName="MinSlope" typeName="double" category="SurfaceControl_Vertex" kindOfQuantity="rru:SLOPE" displayLabel="Min. Slope" description="Minimum slope constraint." />
1266
- <ECProperty propertyName="MaxSlope" typeName="double" category="SurfaceControl_Vertex" kindOfQuantity="rru:SLOPE" displayLabel="Max. Slope" description="Maximum slope constraint." />
1267
-
1268
- </ECEntityClass>
1269
-
1270
- <ECEntityClass typeName="SurfaceSlopedDirectionControlVertex" modifier="Sealed" displayLabel="Sloped Direction Control Vertex" description="Specialized control vertex that uses slope constraints along a single direction in the spatial interpolation calculation.">
1271
- <BaseClass>SurfaceSlopedControlVertex</BaseClass>
1272
-
1273
- <ECProperty propertyName="Direction" typeName="Point2d" category="SurfaceControl_Vertex" displayLabel="Direction" description="Direction of the line emanating from this vertex position that constrains the elevation interpolation."/>
1274
- <ECProperty propertyName="IsMirrored" typeName="boolean" category="SurfaceControl_Vertex" displayLabel="Is Mirrored" description="Set to true to mirror the surface about its reference direction."/>
1286
+ <ECProperty propertyName="ControlVertexSlope" typeName="double" category="SurfaceControl" kindOfQuantity="rru:SLOPE" displayLabel="Slope" description="Slope defined by a control vertex override." />
1275
1287
  </ECEntityClass>
1276
1288
 
1277
1289
  <ECEntityClass typeName="SurfaceControlLowPoint" modifier="Sealed" displayLabel="Control Low Point" description="Defines a location point which controls low point control object.">
@@ -1281,8 +1293,8 @@
1281
1293
  <Description>SurfaceControlLowPoint is no longer used for surface control, use SurfaceSlopedControlVertex instead.</Description>
1282
1294
  </Deprecated>
1283
1295
  </ECCustomAttributes>
1284
- <ECProperty propertyName="ControlSlope" typeName="double" category="SurfaceControl_Vertex" kindOfQuantity="rru:SLOPE" displayLabel="Slope" description="Slope defined by a control low point override." />
1285
- <ECProperty propertyName="MaximumControlRadius" typeName="double" category="SurfaceControl_Vertex" kindOfQuantity="rru:LENGTH" displayLabel="Radius" description="Max radius defined by a control low point override." />
1296
+ <ECProperty propertyName="ControlSlope" typeName="double" category="SurfaceControl" kindOfQuantity="rru:SLOPE" displayLabel="Slope" description="Slope defined by a control low point override." />
1297
+ <ECProperty propertyName="MaximumControlRadius" typeName="double" category="SurfaceControl" kindOfQuantity="rru:LENGTH" displayLabel="Radius" description="Max radius defined by a control low point override." />
1286
1298
  </ECEntityClass>
1287
1299
 
1288
1300
  <ECEntityClass typeName="SurfaceControlLowPointRule" modifier="Sealed" displayLabel="Surface Control Low Point Rule" description="Surface control low point rule.">
@@ -1311,6 +1323,11 @@
1311
1323
 
1312
1324
  <ECRelationshipClass typeName="SurfaceControlOwnsRules" strength="embedding" strengthDirection="Forward" modifier="Sealed">
1313
1325
  <BaseClass>bis:ElementOwnsChildElements</BaseClass>
1326
+ <ECCustomAttributes>
1327
+ <Deprecated xmlns="CoreCustomAttributes.01.00.03">
1328
+ <Description>SurfaceControlOwnsRules is no longer used for surface control, use SurfaceControlOwnsControlElement instead.</Description>
1329
+ </Deprecated>
1330
+ </ECCustomAttributes>
1314
1331
  <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
1315
1332
  <Class class="ISurfaceControl" />
1316
1333
  </Source>
@@ -1323,7 +1340,7 @@
1323
1340
  <BaseClass>bis:ElementOwnsChildElements</BaseClass>
1324
1341
  <ECCustomAttributes>
1325
1342
  <Deprecated xmlns="CoreCustomAttributes.01.00.03">
1326
- <Description>SurfaceControlOwnsVertices is no longer used for surface control, use SurfaceControlOwnsControlObjects instead.</Description>
1343
+ <Description>SurfaceControlOwnsVertices is no longer used for surface control, use SurfaceControlOwnsControlElement instead.</Description>
1327
1344
  </Deprecated>
1328
1345
  </ECCustomAttributes>
1329
1346
  <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
@@ -1334,20 +1351,20 @@
1334
1351
  </Target>
1335
1352
  </ECRelationshipClass>
1336
1353
 
1337
- <ECRelationshipClass typeName="SurfaceControlOwnsControlObjects" strength="embedding" strengthDirection="Forward" modifier="Sealed">
1354
+ <ECRelationshipClass typeName="SurfaceControlOwnsControlElement" strength="embedding" strengthDirection="Forward" modifier="Sealed">
1338
1355
  <BaseClass>bis:ElementOwnsChildElements</BaseClass>
1339
1356
  <Source multiplicity="(1..1)" roleLabel="owns" polymorphic="true">
1340
1357
  <Class class="ISurfaceControl" />
1341
1358
  </Source>
1342
1359
  <Target multiplicity="(0..*)" roleLabel="is owned by" polymorphic="true">
1343
- <Class class="ISurfaceControlObject" />
1360
+ <Class class="ISurfaceControlElement" />
1344
1361
  </Target>
1345
1362
  </ECRelationshipClass>
1346
1363
 
1347
1364
  <ECEntityClass typeName="SurfaceControlOptionsAspect" modifier="Sealed" displayLabel="Surface Control Options">
1348
1365
  <BaseClass>bis:ElementUniqueAspect</BaseClass>
1349
1366
 
1350
- <ECProperty propertyName="Resolution" typeName="double" kindOfQuantity="rru:LENGTH" category="SurfaceControl_Vertex" displayLabel="Resolution" description="Controls the spacing of the XY grid used when generating the triangulation for the interpolated surface." />
1367
+ <ECProperty propertyName="Resolution" typeName="double" kindOfQuantity="rru:LENGTH" category="SurfaceControl" displayLabel="Resolution" description="Controls the spacing of the XY grid used when generating the triangulation for the interpolated surface." />
1351
1368
  </ECEntityClass>
1352
1369
 
1353
1370
  <ECRelationshipClass typeName="SurfaceControlOwnsOptionsAspect" modifier="Sealed" strength="embedding">
@@ -1394,6 +1411,8 @@
1394
1411
  <ECEntityClass typeName="SurfaceControlLine" modifier="Sealed" displayLabel="Surface Control Line" description="Surface control line.">
1395
1412
  <BaseClass>bis:SpatialLocationElement</BaseClass>
1396
1413
  <BaseClass>ISurfaceControlObject</BaseClass>
1414
+
1415
+ <ECStructProperty propertyName="StrokeOptions" typeName="SurfaceControlStrokeOptions" displayLabel="Stroke Options" description="Specifies stroke options for adding points along the path." />
1397
1416
  </ECEntityClass>
1398
1417
 
1399
1418
  <ECRelationshipClass typeName="SurfaceControlLineOwnsEdges" strength="embedding" strengthDirection="Forward" modifier="Sealed">
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bentley/open-site-schema",
3
3
  "license": "MIT",
4
- "version": "1.0.9-dev.2",
4
+ "version": "1.0.9-dev.3",
5
5
  "homepage": "https://www.itwinjs.org/",
6
6
  "keywords": [
7
7
  "Bentley",