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);
}
}
Aggregations