Page 1 of 1

What is an InsertLine failure?

Posted: Thu Dec 06, 2018 8:48 am
by Mulliganaceous
When creating certain polyhedra which is either extremely complex or contains parts which can cause great round-off errors (such as very small angles or angles near 180° degrees, Stella glitches out with an Internal Error that InsertLine has failed.

The full quote goes:
InsertLine failed. Maybe model not accurate enough?
This effectively hangs the program and it ceases to respond - as if it has gone into an infinite loop upon the failure of "InsertLine."

Here are some ways to easily get an InsertLine failure:
  • Extremely complex models.
  • Models which involve very small angles or angles very near π. I believe Stella uses numerical approximation, and trigonometric approximation becomes problematic especially near, but not at these "critical" angles. I believe π/2 is another critical angle.
  • High prisms and antiprisms (these have bases of many-sided polygons). In fact, InsertLine fails for antiprisms whose polygons have 100 or more sides when you view the faces.
Also, not InsertLine failure can occur anywhere upon loading the polyhedron, upon viewing the faces of the polyhedron, or attempting to stellate the polyhedron (especially if you are prompted to if it "may be too complex to stellate.")

An InsertLine failure can be particularly problematic. The only way to deal with it is to force close the program.

Re: What is an InsertLine failure?

Posted: Thu Dec 06, 2018 12:03 pm
by robertw
It's an internal error that means something went wrong. At this point it tries to bail out but can leave things in a state that's hard to recover from.

The InsertLine call is ONLY called when trying to stellate the model. There are a few reasons it may be doing this when you wouldn't expect it. To load a model and be sure that the stellation process won't be invoked, make sure of the following:
  • Close (or change) any stellation and net views. Creating nets generally requires the stellation step to create the externally visible pieces of intersecting faces
  • If you have the info window open, make sure the Stellation and Nets sections are closed
  • Make sure that the following are disabled in the menu:
    • Display->Vertex & Edge Options->Show Stellation Vertices
    • Display->Vertex & Edge Options->Show Stellation Edges
    • Stellation->Show Cell Lines
  • Set "Sselection->Selected Face Display" to "Highlight", not "Show Stellation Diagram"
That should ensure the stellation process is not invoked, and you can load any model without seeing the InsertLine error.

Re: What is an InsertLine failure?

Posted: Sat Dec 08, 2018 2:22 am
by Mulliganaceous
How does the InsertLine call even work?

Re: What is an InsertLine failure?

Posted: Sun Dec 09, 2018 12:25 pm
by robertw
It's internal stuff in the code, and meaningless to anyone other than me. It's part of creating stellations.

Stellation requires finding all the intersections of all the facial planes, so faces that are almost coplanar will have intersections a very long way away. Hence why Stella requires high precision. It has to use high tolerances to avoid errors when planes really shouldn't be considered coplanar but are very close.