ladybug-tools / honeybee-schema

:honeybee: :scroll: HBJSON format schema
https://ladybug-tools.github.io/honeybee-schema
Other
13 stars 9 forks source link

Move DaylightingControl out of Load. #300

Closed MingboPeng closed 3 years ago

MingboPeng commented 3 years ago

We are using python modules to organize and generate C# interfaces.

This new DaylightingControl doesn't share any commons with the rest "load" classes https://github.com/ladybug-tools/honeybee-schema/blob/fcc7ad90fa575aea2330d678a50f62d63e9954da/honeybee_schema/energy/load.py#L515

cc @chriswmackey

chriswmackey commented 3 years ago

Sorry, I don't understand, @MingboPeng . Can't we just keep it under the load package because it relates to he Lighting load?

chriswmackey commented 3 years ago

Also, so that you know the roadmap, I also intend to put process loads, elevator loads, and exterior lighting all under the "load" subpackage since I think this is where people would expect to find them.

MingboPeng commented 3 years ago

Hi @chriswmackey, so in C#, we use the python module information to organize all loads with generated interface( "abstract base class"). In this case, all loads were based on IDdEnergyBaseModel, so in in generated interface "ILoad" I make it inherited from another interface "IIDdEnergyBaseModel". This basically means : all loads have to be based on IDdEnergyBaseModel.

So this DaylightingControl is based on NoExtraBaseModel, which is conflicting with the above concept "all loads are based on IDdEnergyBaseModel".

Hope this makes sense.