Skip to content

Commit

Permalink
add default implementation for TypeHandler.CanBeVisualized
Browse files Browse the repository at this point in the history
  • Loading branch information
NeVeSpl committed May 10, 2024
1 parent ad4550f commit 013981e
Show file tree
Hide file tree
Showing 14 changed files with 19 additions and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,10 @@ IEnumerable<SnoopableObject> ISnoop<T>.Snoop(SnoopableContext context, T value)
{
return Snooop(context, value) ?? Enumerable.Empty<SnoopableObject>();
}
protected virtual IEnumerable<SnoopableObject> Snooop(SnoopableContext context, T value) => null;
protected virtual IEnumerable<SnoopableObject> Snooop(SnoopableContext context, T value)
{
yield return new SnoopableObject(context.Document, value);
}



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,6 @@ internal class BoundarySegmentHandler : TypeHandler<BoundarySegment>
protected override string ToLabel(SnoopableContext context, BoundarySegment boundarySegment)
{
return $"ID: {boundarySegment.ElementId}, {boundarySegment.GetCurve()?.Length} ft"; ;
}

[CodeToString]
protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, BoundarySegment boundarySegment)
{
yield return new SnoopableObject(context.Document, boundarySegment);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ protected override string ToLabel(SnoopableContext context, BoundingBoxXYZ box)
return $"Min({box.Min.X:0.##}, {box.Min.Y:0.##}, {box.Min.Z:0.##}), Max({box.Max.X:0.##}, {box.Max.Y:0.##}, {box.Max.Z:0.##})";
}

[CodeToString]
protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, BoundingBoxXYZ box)
{
yield return new SnoopableObject(context.Document, box);
}

public string GetToolTip(SnoopableContext context, BoundingBoxXYZ value)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,6 @@ internal sealed class CategoryHandler : TypeHandler<Category>
protected override string ToLabel(SnoopableContext context, Category category)
{
return Labeler.GetLabelForObjectWithId(category.Name, category.Id.Value());
}

[CodeToString]
protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, Category category)
{
yield return new SnoopableObject(context.Document, category);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@ internal sealed class CurveHandler : TypeHandler<Curve>
protected override bool CanBeSnoooped(SnoopableContext context, Curve curve) => true;
protected override string ToLabel(SnoopableContext context, Curve curve) => curve.GetType()?.GetCSharpName();

[CodeToString]
protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, Curve curve)
{
yield return new SnoopableObject(context.Document, curve);
}


private readonly static Color StartColor = new Color(0, 255, 0);
private readonly static Color EndColor = new Color(255, 0, 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,7 @@ internal sealed class EdgeHandler : TypeHandler<Edge>
protected override bool CanBeSnoooped(SnoopableContext context, Edge edge) => true;
protected override string ToLabel(SnoopableContext context, Edge edge) => edge.GetType()?.GetCSharpName();

[CodeToString]
protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, Edge edge)
{
yield return new SnoopableObject(context.Document, edge);
}



private readonly static Color StartColor = new Color(0, 255, 0);
private readonly static Color EndColor = new Color(255, 0, 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@ internal sealed class FaceHandler : TypeHandler<Face>
protected override bool CanBeSnoooped(SnoopableContext context, Face face) => true;
protected override string ToLabel(SnoopableContext context, Face face) => face.GetType()?.GetCSharpName();

protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, Face face)
{
yield return new SnoopableObject(context.Document, face);
}



private readonly static Color FaceColor = new Color(80, 175, 228);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace RevitDBExplorer.Domain.DataModel.ValueContainers
{
internal class LocationHandler : TypeHandler<Location>
{
protected override bool CanBeSnoooped(SnoopableContext context, Location location) => location is not null;
protected override bool CanBeSnoooped(SnoopableContext context, Location location) => true;

protected override string ToLabel(SnoopableContext context, Location location)
{
Expand All @@ -34,11 +34,6 @@ protected override string ToLabel(SnoopableContext context, Location location)


return $"{typeName} : {details}";
}

protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, Location location)
{
yield return new SnoopableObject(context.Document, location);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace RevitDBExplorer.Domain.DataModel.ValueContainers
{
internal sealed class ObjectHandler : TypeHandler<object>
{
protected override bool CanBeSnoooped(SnoopableContext context, object @object) => @object is not null;
protected override bool CanBeSnoooped(SnoopableContext context, object @object) => true;
protected override string ToLabel(SnoopableContext context, object @object)
{
string name = @object.TryGetPropertyValue(propertyThatContainsName);
Expand All @@ -20,10 +20,7 @@ protected override string ToLabel(SnoopableContext context, object @object)
}
return $"{typeName}";
}
protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, object @object)
{
yield return new SnoopableObject(context.Document, @object);
}



private static readonly string[] propertyThatContainsName = new[] { "Name", "Title", "SchemaName", "FieldName" };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,9 @@ namespace RevitDBExplorer.Domain.DataModel.ValueContainers
{
class PointHandler : TypeHandler<Point>
{
protected override bool CanBeSnoooped(SnoopableContext context, Point point) => point is not null;
protected override bool CanBeSnoooped(SnoopableContext context, Point point) => true;
protected override string ToLabel(SnoopableContext context, Point point) => point.GetType()?.GetCSharpName();
protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, Point point)
{
yield return new SnoopableObject(context.Document, point);
}




Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,9 @@ namespace RevitDBExplorer.Domain.DataModel.ValueContainers
{
internal sealed class SolidHandler : TypeHandler<Solid>
{
protected override bool CanBeSnoooped(SnoopableContext context, Solid solid) => solid is not null;
protected override bool CanBeSnoooped(SnoopableContext context, Solid solid) => true;
protected override string ToLabel(SnoopableContext context, Solid solid) => solid.GetType()?.GetCSharpName();
protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, Solid solid)
{
yield return new SnoopableObject(context.Document, solid);
}




Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,5 @@ protected override string ToLabel(SnoopableContext context, StructuralSection va
return value.ToString();
}

protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, StructuralSection value)
{
yield return new SnoopableObject(context.Document, value);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ protected override string ToLabel(SnoopableContext context, Transform transform)
return $"Transform: {id}";
}

protected override IEnumerable<SnoopableObject> Snooop(SnoopableContext context, Transform transform)
{
yield return new SnoopableObject(context.Document, transform);
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace RevitDBExplorer.Domain.DataModel.ValueContainers
{
internal sealed class XYZHandler : TypeHandler<XYZ>, IHaveToolTip<XYZ>
{
protected override bool CanBeSnoooped(SnoopableContext context, XYZ xyz) => false;
protected override bool CanBeSnoooped(SnoopableContext context, XYZ xyz) => true;
protected override string ToLabel(SnoopableContext context, XYZ xyz)
{
return $"({xyz.X}, {xyz.Y}, {xyz.Z})";
Expand Down

0 comments on commit 013981e

Please sign in to comment.