Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ private void HighlightObjectsOnView(IReadOnlyList<RhinoObject> rhinoObjects, IRe
RhinoDoc.ActiveDoc.Objects.UnselectAll();
List<RhinoObject> rhinoObjectsToSelect = new(rhinoObjects);

foreach (Group group in groups)
foreach (Group group in groups) // This is not performant if we have many groups. That's why we do not store group ids on baked object ids, to not have a problem later on highlighting all model. Mostly for single group highlight from report item.
{
int groupIndex = RhinoDoc.ActiveDoc.Groups.Find(group.Name);
if (groupIndex < 0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -205,9 +205,9 @@ private HostObjectBuilderResult BakeObjects(
}

// 4: log
var id = conversionIds[0];
var id = conversionIds[0]; // this is group id if it is a one to many conversion, otherwise id of object itself
conversionResults.Add(new(Status.SUCCESS, obj, id, result.GetType().ToString()));
bakedObjectIds.Add(id);
bakedObjectIds.AddRange(conversionIds.Skip(1)); // first item always a group id, which we do not want to deal with later groups and its sub elements. It causes a huge issue on performance.

// 5: populate app id map
applicationIdMap[obj.applicationId ?? obj.id] = conversionIds;
Expand Down
Loading