SOLVED Selection-Status of RenderData

Hi all,

I'm looking for a way to detect the selected not active RenderData via python, but had no luck.
Any ideas?! Isn't that possible?

def main():
    rdata = doc.GetFirstRenderData()
    while rdata:
	   print rdata.GetBit(c4d.BIT_ACTIVERENDERDATA)
	   print rdata.GetBit(c4d.BITACTIVE)

	   rdata = rdata.GetNext()

if __name__=='__main__':
    main()

Cheers,
Lasse

hello,

you can check the bits using the mask '8'
we don't have any variable set for that value, so be aware, this "magic number" could change in the future.

import c4d
# Welcome to the world of Python

# Check if the render settint are selected and print the result


def GetNextRenderSetting( rs ):
    # Retrieves the next node avaiable
    if rs is None:
        return None
    if rs.GetDown() is not None:
        return rs.GetDown()
    while rs.GetNext() is None and rs.GetUp() is not None:
        rs = rs.GetUp()
    return rs.GetNext()




def main():
    # Retrieves the first Render Data
    rdata = doc.GetFirstRenderData()
    
    while rdata:
        # Checks the bits to see if the render data setting is selected.
        # This magic number may changes in a futur release.
        print rdata.GetBit(8)
        
        # retrieves the next render setting without using a recursive method
        rdata = GetNextRenderSetting(rdata)

# Execute main()
if __name__=='__main__':
    main()

Cheers
Manuel

Interesting @m_magalhaes !

Can I ask how you found out about this number? Is there any way for us to find this of our own..?

Thanks & Cheers,
Lasse

@lasselauch said in Selection-Status of RenderData:

how you found out about this number?

First, @s_bach found it and told me about this number.

In the source file, there's this code.

#define RENDERSETTINGS_BIT_SELECTED		(1 << 3)

As it's not exposed, you can't use RENDERSETTINGS_BIT_SELECTED, only the value : 8

Cheers
Manuel

hello,

this thread will be considered as Solved tomorrow is you have nothing to add.

Cheers
Manuel