Skip to content

Commit

Permalink
Rhino fakes (#28)
Browse files Browse the repository at this point in the history
* first pass of making Rhino work: more structs, nested types and some generic work

* ignoring more types to compile

* initial rhino check in.  tabs on revit

* more fixes?

* rerun rhino

* more generic fixes

* more rhino fixes

* add interfaces to structs and explicit interfaces

* fix indexers and add exceptions

* Compiles!

* add more collections and better interface implementations

* add static properties on structs

* add static methods to structs

* Deal with out values and System.Drawing

* fmt

* fix up Revit to have old properties/methods

* rerun revit to be updated
  • Loading branch information
adamhathcock committed Jul 2, 2024
1 parent 1b31dc1 commit 242cf50
Show file tree
Hide file tree
Showing 713 changed files with 33,846 additions and 100 deletions.
11 changes: 7 additions & 4 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
<Project>
<ItemGroup>
<PackageVersion Include="Bullseye" Version="5.0.0"/>
<PackageVersion Include="Glob" Version="1.1.9"/>
<PackageVersion Include="SimpleExec" Version="12.0.0"/>
<PackageVersion Include="Bullseye" Version="5.0.0" />
<PackageVersion Include="Glob" Version="1.1.9" />
<PackageVersion Include="SimpleExec" Version="12.0.0" />
<PackageVersion Include="Speckle.Revit.API" Version="2023.0.0" />
<PackageVersion Include="RhinoCommon" Version="7.13.21348.13001" />
<PackageVersion Include="RhinoWindows" Version="7.13.21348.13001" />
<GlobalPackageReference Include="PolySharp" Version="1.14.1" />
<GlobalPackageReference Include="MinVer" Version="5.0.0" />
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<PackageVersion Include="System.Drawing.Common" Version="8.0.6" />
</ItemGroup>
</Project>
</Project>
16 changes: 16 additions & 0 deletions Speckle.Host.Apis.sln
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Revit", "Revit", "{BD68BFA8
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Revit2023.Fakes", "Speckle.Revit2023.Fakes\Speckle.Revit2023.Fakes.csproj", "{4B16340A-C493-41AB-85E8-E32C92533118}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Rhino7.Fakes.Generator", "Speckle.Rhino7.Fakes.Generator\Speckle.Rhino7.Fakes.Generator.csproj", "{414C51A1-6237-43BB-A59A-E9879880EF73}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Rhino", "Rhino", "{F2F213A8-6D57-492F-BA11-C9F26057B1DA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Rhino7.Fakes", "Speckle.Rhino7.Fakes\Speckle.Rhino7.Fakes.csproj", "{1F2F89EE-2032-4350-BFC9-6B74D477DE95}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -45,11 +51,21 @@ Global
{4B16340A-C493-41AB-85E8-E32C92533118}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4B16340A-C493-41AB-85E8-E32C92533118}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4B16340A-C493-41AB-85E8-E32C92533118}.Release|Any CPU.Build.0 = Release|Any CPU
{414C51A1-6237-43BB-A59A-E9879880EF73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{414C51A1-6237-43BB-A59A-E9879880EF73}.Debug|Any CPU.Build.0 = Debug|Any CPU
{414C51A1-6237-43BB-A59A-E9879880EF73}.Release|Any CPU.ActiveCfg = Release|Any CPU
{414C51A1-6237-43BB-A59A-E9879880EF73}.Release|Any CPU.Build.0 = Release|Any CPU
{1F2F89EE-2032-4350-BFC9-6B74D477DE95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F2F89EE-2032-4350-BFC9-6B74D477DE95}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F2F89EE-2032-4350-BFC9-6B74D477DE95}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F2F89EE-2032-4350-BFC9-6B74D477DE95}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{00F3BEC6-614D-4AEE-923A-0E2DF40FDE6B} = {42C36267-88A8-4F94-9E62-5D43A02D033C}
{E1C43415-3000-45F4-8BF9-B4DD7D7F2ED6} = {3B0D8F6E-C701-446E-BAE3-B6FDF1812901}
{D25C688F-1673-4AEB-8186-6105C8CB679A} = {3B0D8F6E-C701-446E-BAE3-B6FDF1812901}
{4B16340A-C493-41AB-85E8-E32C92533118} = {BD68BFA8-3EC7-4689-987E-6422A37CF3B0}
{414C51A1-6237-43BB-A59A-E9879880EF73} = {3B0D8F6E-C701-446E-BAE3-B6FDF1812901}
{1F2F89EE-2032-4350-BFC9-6B74D477DE95} = {F2F213A8-6D57-492F-BA11-C9F26057B1DA}
EndGlobalSection
EndGlobal
3 changes: 2 additions & 1 deletion Speckle.Revit2023.Fakes.Generator/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Assembly GetAssembly(string name)
new("RebarSystemSpanSymbol", [new("Create")]),
new("ProjectInfo", [new("Name")]),
new("ImageView", [new("Create")])
]
],
GeneratorOptions.ExplicitProperties
);
generator.Generate();
3 changes: 3 additions & 0 deletions Speckle.Revit2023.Fakes/Speckle.Revit2023.Fakes.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,7 @@
<TargetFramework>net8.0</TargetFramework>
<IsPackable>true</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Drawing.Common" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ Autodesk.Revit.DB.Reference referenceToFace
Autodesk.Revit.DB.ElementId massInstanceId
) => throw new System.NotImplementedException();

public virtual System.Collections.Generic.IList<Autodesk.Revit.DB.ElementId> GetValidSurfaceCategoryIdsForReference(
Autodesk.Revit.DB.Reference reference,
out Autodesk.Revit.DB.ElementId recommendedDefaultSubcategoryId
) => throw new System.NotImplementedException();

public virtual System.Collections.Generic.ICollection<Autodesk.Revit.DB.ElementId> GetJoinedMassEnergyAnalyticalModelElementIds() =>
throw new System.NotImplementedException();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,20 @@ public partial class PathOfTravel : Autodesk.Revit.DB.Element
Autodesk.Revit.DB.XYZ pathEnd
) => throw new System.NotImplementedException();

public static Autodesk.Revit.DB.Analysis.PathOfTravel Create(
Autodesk.Revit.DB.View DBView,
Autodesk.Revit.DB.XYZ pathStart,
Autodesk.Revit.DB.XYZ pathEnd,
out Autodesk.Revit.DB.Analysis.PathOfTravelCalculationStatus resultStatus
) => throw new System.NotImplementedException();

public static System.Collections.Generic.IList<Autodesk.Revit.DB.Analysis.PathOfTravel> CreateMultiple(
Autodesk.Revit.DB.View DBView,
System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> pathStarts,
System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> pathEnds,
out System.Collections.Generic.IList<Autodesk.Revit.DB.Analysis.PathOfTravelCalculationStatus> resultStatus
) => throw new System.NotImplementedException();

public static System.Collections.Generic.IList<Autodesk.Revit.DB.Analysis.PathOfTravel> CreateMultiple(
Autodesk.Revit.DB.View DBView,
System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> pathStarts,
Expand All @@ -22,6 +36,13 @@ System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> pathEnds
System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> pathEnds
) => throw new System.NotImplementedException();

public static System.Collections.Generic.IList<Autodesk.Revit.DB.Analysis.PathOfTravel> CreateMapped(
Autodesk.Revit.DB.View DBView,
System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> pathStarts,
System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> pathEnds,
out System.Collections.Generic.IList<Autodesk.Revit.DB.Analysis.PathOfTravelCalculationStatus> resultStatus
) => throw new System.NotImplementedException();

public static System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> FindStartsOfLongestPathsFromRooms(
Autodesk.Revit.DB.View DBView,
System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> destinationPoints
Expand All @@ -42,6 +63,12 @@ System.Collections.Generic.IList<Autodesk.Revit.DB.XYZ> startPoints
public virtual Autodesk.Revit.DB.Analysis.PathOfTravelCalculationStatus Update() =>
throw new System.NotImplementedException();

public static System.Int32 UpdateMultiple(
Autodesk.Revit.DB.Document adoc,
System.Collections.Generic.IList<Autodesk.Revit.DB.ElementId> elementsToUpdate,
out System.Collections.Generic.IList<Autodesk.Revit.DB.Analysis.PathOfTravelCalculationStatus> resultStatus
) => throw new System.NotImplementedException();

public static System.Int32 UpdateMultiple(
Autodesk.Revit.DB.Document adoc,
System.Collections.Generic.IList<Autodesk.Revit.DB.ElementId> elementsToUpdate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public partial class BasePoint : Autodesk.Revit.DB.Element
public virtual Autodesk.Revit.DB.XYZ SharedPosition
{
get => throw new System.NotImplementedException();
set { }
}
public virtual System.Boolean Clipped
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
namespace Autodesk.Revit.DB;

public partial class ComponentRepeaterIterator
: System.Collections.Generic.IEnumerator<Autodesk.Revit.DB.ComponentRepeaterSlot>
: System.Collections.Generic.IEnumerator<Autodesk.Revit.DB.ComponentRepeaterSlot>,
System.IDisposable,
System.Collections.IEnumerator
{
public ComponentRepeaterIterator() { }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ public partial class CompoundStructure : System.IDisposable

public virtual System.Boolean IsVerticallyHomogeneous() => throw new System.NotImplementedException();

public virtual System.Boolean IsValid(
Autodesk.Revit.DB.Document doc,
out System.Collections.Generic.IDictionary<System.Int32, Autodesk.Revit.DB.CompoundStructureError> errMap,
out System.Collections.Generic.IDictionary<System.Int32, System.Int32> twoLayerErrorsMap
) => throw new System.NotImplementedException();

public virtual Autodesk.Revit.DB.CompoundStructure GetSimpleCompoundStructure(
System.Double wallHeight,
System.Double distAboveBase
Expand Down Expand Up @@ -122,6 +128,13 @@ Autodesk.Revit.DB.StructDeckEmbeddingType embedType
public virtual System.Double GetSegmentCoordinate(System.Int32 segmentId) =>
throw new System.NotImplementedException();

public virtual void GetSegmentEndPoints(
System.Int32 segmentId,
System.Int32 regionId,
out Autodesk.Revit.DB.UV end1,
out Autodesk.Revit.DB.UV end2
) => throw new System.NotImplementedException();

public virtual System.Int32 MergeRegionsAdjacentToSegment(
System.Int32 segmentId,
System.Int32 layerIdxForMergedRegion
Expand All @@ -132,6 +145,19 @@ System.Int32 layerIdxForMergedRegion
Autodesk.Revit.DB.RectangularGridSegmentOrientation splitDirection
) => throw new System.NotImplementedException();

public virtual System.Int32 SplitRegion(
Autodesk.Revit.DB.UV gridUV,
Autodesk.Revit.DB.RectangularGridSegmentOrientation splitDirection,
out System.Int32 newSegmentId
) => throw new System.NotImplementedException();

public virtual System.Int32 FindEnclosingRegionAndSegments(
Autodesk.Revit.DB.UV gridUV,
Autodesk.Revit.DB.RectangularGridSegmentOrientation splitDirection,
out System.Int32 segmentId1,
out System.Int32 segmentId2
) => throw new System.NotImplementedException();

public virtual System.Collections.Generic.IList<System.Int32> GetExtendableRegionIds(System.Boolean top) =>
throw new System.NotImplementedException();

Expand Down
16 changes: 16 additions & 0 deletions Speckle.Revit2023.Fakes/generated/Autodesk.Revit.DB.Curve.s.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,16 @@ Autodesk.Revit.DB.XYZ referenceVector
public virtual Autodesk.Revit.DB.Transform ComputeDerivatives(System.Double parameter, System.Boolean normalized) =>
throw new System.NotImplementedException();

public virtual System.Boolean IsInside(System.Double parameter, out System.Int32 end) =>
throw new System.NotImplementedException();

public virtual System.Boolean IsInside(System.Double parameter) => throw new System.NotImplementedException();

public virtual Autodesk.Revit.DB.SetComparisonResult Intersect(
Autodesk.Revit.DB.Curve curve,
out Autodesk.Revit.DB.IntersectionResultArray resultArray
) => throw new System.NotImplementedException();

public virtual Autodesk.Revit.DB.SetComparisonResult Intersect(Autodesk.Revit.DB.Curve curve) =>
throw new System.NotImplementedException();

Expand All @@ -55,6 +63,14 @@ Autodesk.Revit.DB.XYZ referenceVector

public virtual void SetGraphicsStyleId(Autodesk.Revit.DB.ElementId id) => throw new System.NotImplementedException();

public virtual void ComputeClosestPoints(
Autodesk.Revit.DB.Curve otherCurve,
System.Boolean withinThisCurveBounds,
System.Boolean withinOtherCurveBounds,
System.Boolean returnAllCriticalPnts,
out System.Collections.Generic.IList<Autodesk.Revit.DB.ClosestPointsPairBetweenTwoCurves> resultList
) => throw new System.NotImplementedException();

public virtual System.Double Period
{
get => throw new System.NotImplementedException();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,17 @@ System.Collections.Generic.IList<Autodesk.Revit.DB.ElementId> curveElemIds
Autodesk.Revit.DB.Reference referenceOfFace
) => throw new System.NotImplementedException();

public static void CreateRectangle(
Autodesk.Revit.DB.Document document,
Autodesk.Revit.DB.ReferencePoint startPoint,
Autodesk.Revit.DB.ReferencePoint endPoint,
Autodesk.Revit.DB.CurveProjectionType projectionType,
System.Boolean boundaryReferenceLines,
System.Boolean boundaryCurvesFollowSurface,
out System.Collections.Generic.IList<Autodesk.Revit.DB.ElementId> createdCurvesIds,
out System.Collections.Generic.IList<Autodesk.Revit.DB.ElementId> createdCornersIds
) => throw new System.NotImplementedException();

public static Autodesk.Revit.DB.CurveElement CreateArcThroughPoints(
Autodesk.Revit.DB.Document document,
Autodesk.Revit.DB.ReferencePoint startPoint,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
namespace Autodesk.Revit.DB;

public partial class CurveLoop : System.Collections.Generic.IEnumerable<Autodesk.Revit.DB.Curve>, System.IDisposable
public partial class CurveLoop
: System.Collections.Generic.IEnumerable<Autodesk.Revit.DB.Curve>,
System.Collections.IEnumerable,
System.IDisposable
{
public CurveLoop() { }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
namespace Autodesk.Revit.DB;

public partial class CurveLoopIterator : System.Collections.Generic.IEnumerator<Autodesk.Revit.DB.Curve>
public partial class CurveLoopIterator
: System.Collections.Generic.IEnumerator<Autodesk.Revit.DB.Curve>,
System.IDisposable,
System.Collections.IEnumerator
{
public CurveLoopIterator() { }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ namespace Autodesk.Revit.DB;

public partial class DefinitionGroups
: System.Collections.Generic.IEnumerable<Autodesk.Revit.DB.DefinitionGroup>,
System.Collections.IEnumerable,
System.IDisposable
{
public DefinitionGroups() { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ namespace Autodesk.Revit.DB;

public partial class Definitions
: System.Collections.Generic.IEnumerable<Autodesk.Revit.DB.Definition>,
System.Collections.IEnumerable,
System.IDisposable
{
public Definitions() { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ Autodesk.Revit.DB.DisplacementElement parent
System.Collections.Generic.ICollection<Autodesk.Revit.DB.ElementId> elementIds
) => throw new System.NotImplementedException();

public static System.Boolean CanElementsBeDisplaced(
Autodesk.Revit.DB.View view,
System.Collections.Generic.ICollection<Autodesk.Revit.DB.ElementId> elementIds,
out Autodesk.Revit.DB.ElementId commonDisplacedElementId
) => throw new System.NotImplementedException();

public static System.Collections.Generic.ICollection<Autodesk.Revit.DB.ElementId> GetAdditionalElementsToDisplace(
Autodesk.Revit.DB.Document document,
Autodesk.Revit.DB.View view,
Expand Down
50 changes: 50 additions & 0 deletions Speckle.Revit2023.Fakes/generated/Autodesk.Revit.DB.Document.s.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ System.String modelName
Autodesk.Revit.DB.DWFImportOptions options
) => throw new System.NotImplementedException();

public virtual System.Boolean Link(
System.String file,
Autodesk.Revit.DB.DGNImportOptions options,
Autodesk.Revit.DB.View pDBView,
out Autodesk.Revit.DB.ElementId elementId
) => throw new System.NotImplementedException();

public virtual Autodesk.Revit.DB.ElementId Link(
System.String file,
Autodesk.Revit.DB.ImportOptions3DM options,
Expand Down Expand Up @@ -63,6 +70,13 @@ Autodesk.Revit.DB.View pDBView
Autodesk.Revit.DB.View pDBView
) => throw new System.NotImplementedException();

public virtual System.Boolean Link(
System.String file,
Autodesk.Revit.DB.DWGImportOptions options,
Autodesk.Revit.DB.View pDBView,
out Autodesk.Revit.DB.ElementId elementId
) => throw new System.NotImplementedException();

public virtual Autodesk.Revit.DB.ElementId SaveToProjectAsImage(Autodesk.Revit.DB.ImageExportOptions options) =>
throw new System.NotImplementedException();

Expand Down Expand Up @@ -207,11 +221,33 @@ Autodesk.Revit.DB.IFamilyLoadOptions familyLoadOptions
public virtual Autodesk.Revit.DB.Family LoadFamily(Autodesk.Revit.DB.Document targetDocument) =>
throw new System.NotImplementedException();

public virtual System.Boolean LoadFamily(
System.String filename,
Autodesk.Revit.DB.IFamilyLoadOptions familyLoadOptions,
out Autodesk.Revit.DB.Family family
) => throw new System.NotImplementedException();

public virtual System.Boolean LoadFamily(System.String filename, out Autodesk.Revit.DB.Family family) =>
throw new System.NotImplementedException();

public virtual System.Boolean LoadFamily(System.String filename) => throw new System.NotImplementedException();

public virtual Autodesk.Revit.DB.Document EditFamily(Autodesk.Revit.DB.Family loadedFamily) =>
throw new System.NotImplementedException();

public virtual System.Boolean LoadFamilySymbol(
System.String filename,
System.String name,
Autodesk.Revit.DB.IFamilyLoadOptions familyLoadOptions,
out Autodesk.Revit.DB.FamilySymbol symbol
) => throw new System.NotImplementedException();

public virtual System.Boolean LoadFamilySymbol(
System.String filename,
System.String name,
out Autodesk.Revit.DB.FamilySymbol symbol
) => throw new System.NotImplementedException();

public virtual System.Boolean LoadFamilySymbol(System.String filename, System.String name) =>
throw new System.NotImplementedException();

Expand Down Expand Up @@ -341,6 +377,13 @@ Autodesk.Revit.DB.DWFExportOptions options
Autodesk.Revit.DB.View pDBView
) => throw new System.NotImplementedException();

public virtual System.Boolean Import(
System.String file,
Autodesk.Revit.DB.DGNImportOptions options,
Autodesk.Revit.DB.View pDBView,
out Autodesk.Revit.DB.ElementId elementId
) => throw new System.NotImplementedException();

public virtual Autodesk.Revit.DB.ElementId Import(
System.String file,
Autodesk.Revit.DB.ImportOptions3DM options,
Expand Down Expand Up @@ -371,6 +414,13 @@ Autodesk.Revit.DB.View pDBView
Autodesk.Revit.DB.View pDBView
) => throw new System.NotImplementedException();

public virtual System.Boolean Import(
System.String file,
Autodesk.Revit.DB.DWGImportOptions options,
Autodesk.Revit.DB.View pDBView,
out Autodesk.Revit.DB.ElementId elementId
) => throw new System.NotImplementedException();

public virtual System.Boolean Import(System.String file, Autodesk.Revit.DB.GBXMLImportOptions options) =>
throw new System.NotImplementedException();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
namespace Autodesk.Revit.DB.Electrical;

public partial class CableTraySizeIterator : System.Collections.Generic.IEnumerator<Autodesk.Revit.DB.MEPSize>
public partial class CableTraySizeIterator
: System.Collections.Generic.IEnumerator<Autodesk.Revit.DB.MEPSize>,
System.IDisposable,
System.Collections.IEnumerator
{
public CableTraySizeIterator() { }

Expand Down
Loading

0 comments on commit 242cf50

Please sign in to comment.