public abstract class pcNativeExport : GH_Component
{
...
public pcNativeExport(string formatName)
: base("Export " + formatName, "pcExport" + formatName, "This component exports geometries from GH to " + formatName + " file directly\r\nThis component doesn't rely on Export command.", "Pancake", "I/O")
{
}
...
This is a base class for some other components. It shouldn't be included because it is marked abstract and it will be ignored by Grasshopper. Since the reflection method Activator.CreateInsntace on abstract types will throw an exception, it may be the reason why the indexer doesn't work with Pancake.
Here's the code used by GH to load components. You can see here abstract classes are not loaded:
Brief Description
Abstract component classes are listed in the docs, which they shouldn't be.
How to replicate
You can find this in the Pancake Docs.
In the code, it is defined as such:
This is a base class for some other components. It shouldn't be included because it is marked
abstract
and it will be ignored by Grasshopper. Since the reflection methodActivator.CreateInsntace
on abstract types will throw an exception, it may be the reason why the indexer doesn't work with Pancake.Here's the code used by GH to load components. You can see here abstract classes are not loaded:
Grasshopper.Kernel.GH_ComponentServer.ParseGHA(Assembly assembly, string path, GH_LoadingMechanism mechanism)
Grasshopper.Kernel.GH_ComponentServer.IsPotentialDocObject(Type T)
Expected behavior
They shouldn't be listed or parsed.