Search in sources :

Example 1 with ISceneGraphLoader

use of gaiasky.data.ISceneGraphLoader in project gaiasky by langurmonkey.

the class GenericCatalog method initialize.

public void initialize(boolean dataLoad, boolean createCatalogInfo) {
    super.initialize();
    // Load data
    try {
        String dsName = this.getName();
        // Load data and add
        if (dataLoad) {
            Class<?> clazz = Class.forName(provider);
            ISceneGraphLoader provider = (ISceneGraphLoader) clazz.getConstructor().newInstance();
            if (datafile != null)
                provider.initialize(new String[] { datafile });
            else if (ds != null)
                provider.initialize(ds);
            provider.setName(dsName);
            objects = provider.loadData();
            objects.forEach(object -> {
                object.setParent(dsName);
                object.setColor(this.cc);
                object.setLabelcolor(this.labelcolor != null ? this.labelcolor.clone() : this.cc.clone());
                object.initialize();
            });
        }
        // Create catalog info
        if (createCatalogInfo) {
            if (catalogInfo == null) {
                catalogInfo = new CatalogInfo(dsName, description, null, CatalogInfoSource.INTERNAL, 1f, this);
            }
            EventManager.publish(Event.CATALOG_ADD, this, catalogInfo, false);
        }
    } catch (Exception e) {
        Logger.getLogger(this.getClass()).error(e);
    }
}
Also used : ISceneGraphLoader(gaiasky.data.ISceneGraphLoader) CatalogInfo(gaiasky.util.CatalogInfo)

Aggregations

ISceneGraphLoader (gaiasky.data.ISceneGraphLoader)1 CatalogInfo (gaiasky.util.CatalogInfo)1