Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider implementing dynamic Apertures on the ModifierSet #32

Open
chriswmackey opened this issue Jan 30, 2020 · 4 comments
Open

Consider implementing dynamic Apertures on the ModifierSet #32

chriswmackey opened this issue Jan 30, 2020 · 4 comments
Labels
discussion Discussions about where to take the development honeybee radiance triage wish New feature or request which is not critical to continued development at this point

Comments

@chriswmackey
Copy link
Member

For the PR that I am about to send, I am implementing the ability to assign an array of modifiers to an Aperture to represent different states. However, I am going to keep the Aperture modifiers on the ModifierSet as static now for simplicity.

However, I can see that, at some point, we may want to allow for states in the ModifierSet if someone wants to make a ModifierSet for a building that has electrochormic for all of its windows. It seems like this will probably be a desired feature but I think we should first work it out with states assigned on an Aperture-by-Aperture basis.

@mostaphaRoudsari
Copy link
Member

I can see that, at some point, we may want to allow for states in the ModifierSet if someone wants to make a ModifierSet for a building that has electrochormic for all of its windows

That's a great point. Making a dynamic material as a standard object will go a long way. I think we should think about it more than just a list of modifiers.

@chriswmackey
Copy link
Member Author

Agreed. Having a special type of DynamicModifer was also similar to how I was thinking about implementing a similar feature on the honeybee_energy end. I agree this merits a longer discussion.

@chriswmackey
Copy link
Member Author

Now that I see that a state needs to be an entire object like an Aperture or Shade that replaces another object (complete with its own modifier, geometry and children objects), it's looking like dynamic modifiers on the ModifierSet will be much more difficult to implement. Maybe we just leave this idea on the back burner as a wish/discussion.

@chriswmackey chriswmackey removed the enhancement New feature or request label Feb 4, 2020
@chriswmackey chriswmackey changed the title Consider implementing Aperture states on the ModifierSet Consider implementing dynamic Apertures on the ModifierSet Feb 4, 2020
@chriswmackey chriswmackey added discussion Discussions about where to take the development wish New feature or request which is not critical to continued development at this point labels Feb 4, 2020
@chriswmackey
Copy link
Member Author

Now that I have gone through the whole implementation of dynamic objects, I see that there's a major flaw in the idea of a "dynamic modifier" that can be assigned to a ModifierSet. This is that the logic for how different apertures are grouped is not inherent in the dynamic modifier and any default behavior that we could think of (like exporting each aperture geometry with a dynamic modifier into a separate group) is rarely desired.

So, if we end up implementing something like this, there will have to be some rules that govern when the dynamic modifier takes effect like:

  1. All apertures that are assigned the dynamic modifier will only be dynamic if they have a dynamic_group_identifier. Otherwise, they will be static and just have the modifier of the first state of the the dynamic modifier.
  2. If someone actually assigned specific states to an aperture with a dynamic modifier assigned to it, the specifically-assigned states take precedence over those of the dynamic modifier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussions about where to take the development honeybee radiance triage wish New feature or request which is not critical to continued development at this point
Projects
None yet
Development

No branches or pull requests

2 participants