gvSIG bugs #4767

3D Animations are not persistent

Added by Antonio Falciano over 6 years ago. Updated over 6 years ago.

Status:Invalid% Done:

0%

Priority:NormalSpent time:-
Assignee:Lluís Marqués
Category:3D
Target version:2.4.0-2846 (rev. org.gvsig.desktop-2.0.215)
Severity:Major Add-on version:
gvSIG version:2.4.0 Add-on build:
gvSIG build: Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch: Hito:
Add-on name:Unknown

Description

3D animations are a very useful tool, but they can't be saved or reloaded at the moment (see #4766). Furthermore, if we create a 3D animation and then save the gvSIG project, when we reopen the project the 3D animation is lost, so they're not even persistent. This is what the gvSIG.log reports:

WARN 72235 AWT-EventQueue-0 org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue - 
java.lang.NullPointerException
    at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.getFeatureCount(DefaultFeatureStore.java:2430)
    at org.gvsig.fmap.dal.feature.impl.DefaultFeatureReferenceSelection.getData(DefaultFeatureReferenceSelection.java:330)
    at org.gvsig.fmap.dal.feature.impl.DefaultFeatureReferenceSelection.loadFromState(DefaultFeatureReferenceSelection.java:490)
    at org.gvsig.fmap.dal.feature.impl.DefaultFeatureSelection.loadFromState(DefaultFeatureSelection.java:717)
    at org.gvsig.tools.persistence.impl.SimplePersistenceFactory.loadFromState(SimplePersistenceFactory.java:129)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:327)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$100(DefaultPersistentContext.java:76)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:172)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:170)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:149)
    at org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore.loadFromState(DefaultFeatureStore.java:561)
    at org.gvsig.tools.persistence.impl.SimplePersistenceFactory.loadFromState(SimplePersistenceFactory.java:129)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:327)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$100(DefaultPersistentContext.java:76)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:172)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:170)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:149)
    at org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect.loadFromState(FLyrVect.java:513)
    at org.gvsig.tools.persistence.impl.SimplePersistenceFactory.loadFromState(SimplePersistenceFactory.java:129)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:327)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$100(DefaultPersistentContext.java:76)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:172)
    at org.gvsig.tools.persistence.impl.DelegatedContainer.getObject(DelegatedContainer.java:123)
    at org.gvsig.tools.persistence.impl.DelegatedCollection$1DelegatedIterator.next(DelegatedCollection.java:193)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.getValues(AbstractPersistentState.java:191)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:181)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:149)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.getIterator(AbstractPersistentState.java:257)
    at org.gvsig.fmap.mapcontext.layers.FLayers.loadFromState(FLayers.java:776)
    at org.gvsig.tools.persistence.impl.SimplePersistenceFactory.loadFromState(SimplePersistenceFactory.java:129)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:327)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$100(DefaultPersistentContext.java:76)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:172)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:170)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:149)
    at org.gvsig.fmap.mapcontext.MapContext.loadFromState(MapContext.java:1639)
    at org.gvsig.tools.persistence.impl.SimplePersistenceFactory.loadFromState(SimplePersistenceFactory.java:129)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:327)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$100(DefaultPersistentContext.java:76)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:172)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:170)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:149)
    at org.gvsig.app.project.documents.view.BaseViewDocument.loadFromState(BaseViewDocument.java:279)
    at org.gvsig.app.project.documents.view.DefaultViewDocument.loadFromState(DefaultViewDocument.java:204)
    at org.gvsig.app.project.documents.AbstractDocumentManager.loadFromState(AbstractDocumentManager.java:260)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.updateObjectInReference(DefaultPersistentContext.java:327)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext.access$100(DefaultPersistentContext.java:76)
    at org.gvsig.tools.persistence.impl.DefaultPersistentContext$ContextValue.getObject(DefaultPersistentContext.java:172)
    at org.gvsig.tools.persistence.impl.DelegatedContainer.getObject(DelegatedContainer.java:123)
    at org.gvsig.tools.persistence.impl.DelegatedCollection$1DelegatedIterator.next(DelegatedCollection.java:193)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.getValues(AbstractPersistentState.java:191)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:181)
    at org.gvsig.tools.persistence.impl.AbstractPersistentState.get(AbstractPersistentState.java:149)
    at org.gvsig.app.project.DefaultProject.loadFromState(DefaultProject.java:691)
    at org.gvsig.app.project.DefaultProject.loadState(DefaultProject.java:600)
    at org.gvsig.app.project.DefaultProject.loadState(DefaultProject.java:661)
    at org.gvsig.app.extension.ProjectExtension.readProject(ProjectExtension.java:562)
    at org.gvsig.app.extension.ProjectExtension.execute(ProjectExtension.java:379)
    at org.gvsig.app.extension.ProjectExtension.execute(ProjectExtension.java:328)
    at org.gvsig.andami.actioninfo.impl.DefaultActionInfo.execute(DefaultActionInfo.java:307)
    at org.gvsig.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:993)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    [...]

Related to #4343 and #4766.

History

#1 Updated by Antonio Falciano over 6 years ago

  • Target version changed from 2.4.0-2850-final (rev. org.gvsig.desktop-2.0.220) to 2.4.0-2846 (rev. org.gvsig.desktop-2.0.215)
  • Status changed from New to Invalid
After further test, I've discovered that the animation is saved in the project, but a bit hidden because to reload it (after opening the project) I have to:
  • open a 3D view;
  • open the Animation manager;
  • select the animation;
  • select the type of 3D view;
  • finally, click on Execute.

I set the ticket as Invalid.

Also available in: Atom PDF