IRR coordinates [SOLVED]
On 04/07/2016 at 17:40, xxxxxxxx wrote:
How can I set, through programming, the corners of the Interactive Render Region?
Thank you very much in advance for any reply.
On 04/07/2016 at 20:53, xxxxxxxx wrote:
On 04/07/2016 at 23:37, xxxxxxxx wrote:
I found those. But aren't those for the final render?
I mean in the editor screen. Where are those stored?
On 05/07/2016 at 01:54, xxxxxxxx wrote:
the size of the interactive Render Region is stored in the active BaseView. This is internal data and might not be save to be edited by third parties.
See "Get size of the IRR?"
On 05/07/2016 at 02:38, xxxxxxxx wrote:
I did found that thread. However, it is for reading.
How can I write to that internal data structure?
On 05/07/2016 at 08:58, xxxxxxxx wrote:
as you can see in the linked thread the information is stored in a subcontainer. You can edit this subcontainer and write it back into the given data instance. Calling c4d.EventAdd() can then be used to inform Cinema that something changed.
On 05/07/2016 at 09:10, xxxxxxxx wrote:
What are the IDs of the parameters, so that I can store new values there?
On 05/07/2016 at 09:29, xxxxxxxx wrote:
Give this a try Rui.
import c4d def main() : #Get the Editor window bd = doc.GetActiveBaseDraw() if bd is None: return #Get it's size in pixels size = bd.GetFrame() #print(size) #Get it's container(the master container) bc = bd.GetDataInstance() if bc is None: return #Get the subcontainer entry that holds the IRR subcontainer = bc.GetContainer(430000020) #Change the left corner positions of the IRR subcontainer.SetReal(0, 0.0) subcontainer.SetReal(1, 0.0) #Update the master container to use the changed subcontainer values bc.SetContainer(430000020, subcontainer) #Print the IRR's 4 corner positions for i in subcontainer: print(i) c4d.EventAdd() if __name__=='__main__': main()
On 05/07/2016 at 14:27, xxxxxxxx wrote:
Thank you very much, Scott. It works perfectly :-)