//-***************************************************************************** void printParent( Abc::ICompoundProperty iProp, bool all = false, bool long_list = false, bool recursive = false, bool first = false ) { std::cout << CYANCOLOR << iProp.getObject().getFullName() << "/" << iProp.getName() << ":" << RESETCOLOR << std::endl; }
//-***************************************************************************** void tree( Abc::ICompoundProperty iProp, std::string prefix = "" ) { if ( iProp.getObject().getFullName() != "/" ) { prefix = prefix + " "; } if ( is_leaf( iProp.getParent(), iProp.getHeader() ) && iProp.getObject().getNumChildren() == 0 ) { std::cout << prefix << " `--"; prefix = prefix + " "; } else { if ( is_leaf( iProp.getParent(), iProp.getHeader() ) ) { std::cout << prefix << " | `--"; prefix = prefix + " |"; } else if ( iProp.getObject().getNumChildren() == 0 ) { std::cout << prefix << " :--"; prefix = prefix + " :"; } else if ( is_leaf( iProp, iProp.getHeader() ) ) { std::cout << prefix << " | `--"; prefix = prefix + " |"; } else { std::cout << prefix << " | :--"; prefix = prefix + " | :"; } } std::cout << iProp.getName() << "\r" << std::endl; for ( size_t i = 0 ; i < iProp.getNumProperties() ; i++ ) { Abc::PropertyHeader header = iProp.getPropertyHeader( i ); if ( header.isScalar() ) { tree( Abc::IScalarProperty( iProp, header.getName() ), prefix ); } else if ( header.isArray() ) { tree( Abc::IArrayProperty( iProp, header.getName() ), prefix ); } else { tree( Abc::ICompoundProperty( iProp, header.getName() ), prefix ); } } }