Ejemplo n.º 1
0
ModelPointer ModelPointer::operator[]( QString path ) const {
    Model *res = m;
    QStringList l = path.split( '.' );
    for( int i = 0; res and i < l.size(); ++i ) {
        QStringList m = l[ i ].split( '[' );
        for( int j = 0; res and j < m.size(); ++j ) {
            QString n = m[ j ];
            if ( j ) {
                n.replace( ']', ' ' );
                n = n.trimmed();
            }
            Model *tModelPointer = res->attr( n );
            if ( tModelPointer == 0 and n.indexOf( '.' ) < 0 and n.indexOf( '/' ) < 0 )
                return ModelPointer( c, res, n );
            res = tModelPointer;
        }
    }
    return ModelPointer( c, res );
}
Ejemplo n.º 2
0
ModelPointer ModelPointer::operator[]( int index ) const {
    return ModelPointer( c, m and not p.size() ? m->attr( index ) : 0 );
}
Ejemplo n.º 3
0
ModelPointer ModelPointer::new_ptr( ModelPointer model ) {
    return ModelPointer( 0, new Ptr( (qint64)model.m ) );
}
Ejemplo n.º 4
0
ModelPointer ModelPointer::new_typed_array_qint32() {
    return ModelPointer( 0, new TypedArray<qint32> );
}
Ejemplo n.º 5
0
ModelPointer ModelPointer::new_path( QString filename ) {
    return ModelPointer( 0, new Path( filename ) );
}
Ejemplo n.º 6
0
ModelPointer ModelPointer::new_lst() {
    return ModelPointer( 0, new Lst );
}
Ejemplo n.º 7
0
ModelPointer ModelPointer::new_lst( QString type ) {
    return ModelPointer( 0, new LstWithType( type ) );
}
Ejemplo n.º 8
0
ModelPointer ModelPointer::new_obj( QString type ) {
    return ModelPointer( 0, new ModelWithAttrAndName( type ) );
}
Ejemplo n.º 9
0
void SkyInit ()
{
	skydome = ModelPointer("skydome.dh4");
}