architecture-building-systems / hive

Rhino Grasshopper plug-in for quick & dirty building simulation
https://www.food4rhino.com/en/app/hive
GNU General Public License v3.0
31 stars 4 forks source link

control button on GHVisualizer for 3D stuff on Rhino Viewport #311

Open ChrisZenhub opened 4 years ago

ChrisZenhub commented 4 years ago

Hive.png

ChrisZenhub commented 4 years ago

all 3d information (e.g. solar irradiance on surfaces, or 3d energy systems) would be contained in Results.cs

ChrisZenhub commented 4 years ago

roles for this issue: @amraladdin : UI design for the button on the Visualizer component @daren-thomas : coding the button in coordination with @christophwaibel @christophwaibel : providing scripts that display 3D geometry on the rhino viewport in coordination with @daren-thomas

amraladdin commented 4 years ago

@daren-thomas @christophwaibel See the attached PDF for detailed instructions: KPI_Visualizer_Buttons.pdf

amraladdin commented 4 years ago

Daren and I discussed and decided the 3D button should not be part of the visualizer. It makes more sense to have it as part of a separate 3D capsule. We can design the 3D capsule in another sprint. We will move it to the product backlog and tackle it later.

christophwaibel commented 4 years ago

Why? again, I disagree. what is the purpose of a seperate component, just for one button? the 3d visualization should happen on the rhino viewport, and not on grasshopper, so I don't see a reason for a separate "capsule" on grasshopper

christophwaibel commented 4 years ago

I notice that the Visualizer is of GH_Param and not GH_Component. Is it possible for the Visualizer component to make outputs like a GH_Component, @daren-thomas , or would that mean a lot of recoding?

The 3D stuff we wanna draw are simply outputs of type GH_Geometry that are drawn automatically on the Rhino viewport, when you use GH_Component. I was thinking of a "Draw3D"-Button on the visualizer, somewhere top left, where all the other buttons are anyway, and depending on which topical tab you are (energy, LCA, cost, demand...) it outputs different GH_Geometries for these topics.

If this is too much effort for a GH_Param, then yeah, let's make a separete GH_Component for this issue

amraladdin commented 4 years ago

In this case, I do think we should make a separate one for the 3D, because it's not just that it'll show one 3D study or one button. There are sub-studies there, e.g. Solar irradiation/PV production, systems sizes, systems chain in 3D... etc. Moreover, it is weird to click on the 3D button in the visualizer to view the various 3D studies in the Rhino view port, while the Visualizer itself is showing nothing related to the 3D visuals.

On the constructive side, it could be interesting if the Visualizer also showed an Axonometric capture of whatever 3D study we want to see in Rhino, but that would require a lot of programming I guess (you guys tell me). If this is feasible, we can add a 3D button on the canvas, and then have sub-buttons with the various studies.

Whichever we choose, I suggest we deal with the 3D visualization altogether at a later stage.

Let me know what you think about this suggestion.

daren-thomas commented 4 years ago

@christophwaibel because of separation of concerns. The Visualizer component does one thing: It shows representations of a GH_Results object in a capsule.

The buttons on the Visualizer don't "do" things. They only change how the data is being displayed in the capsule.

Adding a "3D" button that then does something totally different (plot data to the Rhino Viewport) destroys this unifying message. Why not just have a separate tool that does that?

christophwaibel commented 4 years ago

@daren-thomas exactly. it shows stuff from the Results class - 3D and plots. But for the sake of reducing effort for us, let's make this a separate component for now