Как исправить ошибку repast simphony: saf.v3d.scene.VComposite.addChild (VComposite.java:46) - PullRequest
1 голос
/ 28 июня 2019

У меня новая ошибка в моей модели repast simphony.Когда мой агент рожает, и я контекстуализирую его потомков в контексте, следующий шаг выдает мне ошибку, такую ​​как java.lang.NullPointerException (см. Исходный код).Можете ли вы помочь мне исправить это?

java.lang.NullPointerException

at saf.v3d.scene.VComposite.addChild(VComposite.java:46)
    at repast.simphony.visualizationOGL2D.SpatialWrapper.setChild(SpatialWrapper.java:80)
    at repast.simphony.visualizationOGL2D.SpatialWrapper.<init>(SpatialWrapper.java:34)
    at repast.simphony.visualizationOGL2D.StyledDisplayLayerOGL2D.createSpatial(StyledDisplayLayerOGL2D.java:146)
    at repast.simphony.visualizationOGL2D.StyledDisplayLayerOGL2D.processAdded(StyledDisplayLayerOGL2D.java:228)
    at repast.simphony.visualizationOGL2D.StyledDisplayLayerOGL2D.update(StyledDisplayLayerOGL2D.java:250)
    at repast.simphony.visualizationOGL2D.DisplayOGL2D.update(DisplayOGL2D.java:404)
    at repast.simphony.visualization.engine.DisplayComponentControllerAction$DisplayUpdater.execute(DisplayComponentControllerAction.java:44)
    at repast.simphony.engine.schedule.DefaultAction.execute(DefaultAction.java:38)
    at repast.simphony.engine.schedule.ScheduleGroup.executeList(ScheduleGroup.java:205)
    at repast.simphony.engine.schedule.ScheduleGroup.execute(ScheduleGroup.java:238)
    at repast.simphony.engine.schedule.Schedule.execute(Schedule.java:352)
    at repast.simphony.ui.GUIScheduleRunner$ScheduleLoopRunnable.run(GUIScheduleRunner.java:52)
    at java.lang.Thread.run(Unknown Source)

1 Ответ

2 голосов
/ 28 июня 2019

Эта ошибка может возникать, если метод getVSpatial в стиле для дочернего агента возвращает ноль.

JavaDoc для getVSpatial

Когда дочерний объект создается, второй аргумент getVSpatial имеет значение null, поэтому необходимо обязательно вернуть реализацию VSpatial.

...