Serialization/Unserialization issues
-
Sorry for the double posting,
I have now done very basic serialization in my model, basically every element calls the parent function serialize or unserialize methods. I get all the nodes back, except for the atoms belonging to classes inheriting from SBBackbone and SBSideChain.
void MyBackbone::serialize(SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber, const SBVersionNumber & classVersionNumber) const { SBBackbone::serialize(serializer, nodeIndexer, sdkVersionNumber, classVersionNumber); } void MyBackbone::unserialize(SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber, const SBVersionNumber & classVersionNumber) { SBBackbone::unserialize(serializer, nodeIndexer, sdkVersionNumber, classVersionNumber); SB_FOR(SBNode* n, *getChildren()) { SBPointer<MyAtom> at = static_cast<MyAtom*>(n); //at->create(); } }I can check in this way that the atoms are correctly added as children to MyBackbone, but they are not created in the Datagraph. I don't have this problem with classes deriving from SBStructuralGroup, where atoms are correctly created in the data graph.
Thanks and best regards!
Elisa
-
The file is quite long, so I will post the relevant parts:
<SAMSON> <majorVersionNumber> 0 </majorVersionNumber> <minorVersionNumber> 7 </minorVersionNumber> <patchVersionNumber> 0 </patchVersionNumber> <numberOfNodeTypes> 15 </numberOfNodeTypes> <nodeTypes> <nodeType> <nodeTypeIndex> 0 </nodeTypeIndex> <className> MySidechain </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 1 </nodeTypeIndex> <className> MyBackbone </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> ... <nodeType> <nodeTypeIndex> 4 </nodeTypeIndex> <className> MyStructuralGroup </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> ... <nodeType> <nodeTypeIndex> 11 </nodeTypeIndex> <className> SBMStructuralModelNodeRoot </className> <elementUUID> 5A3CE002-9368-1EAF-7DBA-66567958AB1F </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 0.7.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 12 </nodeTypeIndex> <className> SBDDocumentCamera </className> <elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 0.7.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 13 </nodeTypeIndex> <className> SBDDocumentLayer </className> <elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 0.7.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 14 </nodeTypeIndex> <className> SBDDocument </className> <elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 0.7.0 </classVersionNumber> </nodeType> </nodeTypes> ... <nodeContents> <node> <index> 0 </index> <expandedFlag> 1 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <numberOfCameras> 1 </numberOfCameras> <nodeIndex> 1 </nodeIndex> <numberOfLayers> 1 </numberOfLayers> <nodeIndex> 2 </nodeIndex> <numberOfGroups> 0 </numberOfGroups> <numberOfStoredConformations> 0 </numberOfStoredConformations> <numberOfStoredPaths> 0 </numberOfStoredPaths> <activeCameraIndex> 1 </activeCameraIndex> <activeLayerIndex> 2 </activeLayerIndex> </node> <node> <index> 1 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <name> Camera 1 </name> <eyePosition> <v[0]> -49817.3 </v[0]> <v[1]> -37448.3 </v[1]> <v[2]> -27528.1 </v[2]> </eyePosition> <targetPosition> <v[0]> -2.47394 </v[0]> <v[1]> -0.57391 </v[1]> <v[2]> -5.94904 </v[2]> </targetPosition> <upVector> <v[0]> -0.569802 </v[0]> <v[1]> 0.166545 </v[1]> <v[2]> 0.804729 </v[2]> </upVector> <nearPlane> 100 </nearPlane> <farPlane> 2e+06 </farPlane> <aspectRatio> 1.41675 </aspectRatio> <fieldOfViewAngleY> 19 </fieldOfViewAngleY> <inertiaFlag> 0 </inertiaFlag> </node> <node> <index> 2 </index> <expandedFlag> 1 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <name> Layer 1 </name> <numberOfModels> 1 </numberOfModels> <nodeIndex> 3 </nodeIndex> <numberOfSimulators> 0 </numberOfSimulators> <numberOfControllers> 0 </numberOfControllers> <numberOfLabels> 0 </numberOfLabels> <hasActiveModel> 0 </hasActiveModel> </node> <node> <index> 3 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <name> 01_tetrahedron </name> <rootIndex> 4 </rootIndex> <propertyFlags> 0 </propertyFlags> <backboneNeighborGridInitialized> 0 </backboneNeighborGridInitialized> </node> <node> <index> 4 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Nodes </name> <numberOfChildren> 26 </numberOfChildren> <nodeIndex> 5 </nodeIndex> <nodeIndex> 137 </nodeIndex> <nodeIndex> 269 </nodeIndex> <nodeIndex> 401 </nodeIndex> <nodeIndex> 533 </nodeIndex> <nodeIndex> 665 </nodeIndex> <nodeIndex> 797 </nodeIndex> <nodeIndex> 929 </nodeIndex> <nodeIndex> 1061 </nodeIndex> <nodeIndex> 1193 </nodeIndex> <nodeIndex> 1325 </nodeIndex> <nodeIndex> 1457 </nodeIndex> <nodeIndex> 1589 </nodeIndex> <nodeIndex> 4110 </nodeIndex> <nodeIndex> 4321 </nodeIndex> <nodeIndex> 4427 </nodeIndex> <nodeIndex> 4533 </nodeIndex> <nodeIndex> 4639 </nodeIndex> <nodeIndex> 4745 </nodeIndex> <nodeIndex> 4956 </nodeIndex> <nodeIndex> 5062 </nodeIndex> <nodeIndex> 5168 </nodeIndex> <nodeIndex> 5379 </nodeIndex> <nodeIndex> 5770 </nodeIndex> <nodeIndex> 6161 </nodeIndex> <nodeIndex> 6552 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> ... <node> <index> 6 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> My Structural Group </name> <numberOfChildren> 2 </numberOfChildren> <nodeIndex> 7 </nodeIndex> <nodeIndex> 8 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> ... <node> <index> 8 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 0 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <position> <v[0]> -1485.23 </v[0]> <v[1]> 172.5 </v[1]> <v[2]> 9081.48 </v[2]> </position> <element> 109 </element> <propertyFlags> 0 </propertyFlags> </node> ... <node> <index> 6552 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Chain </name> <numberOfChildren> 78 </numberOfChildren> <nodeIndex> 6553 </nodeIndex> ... <propertyFlags> 0 </propertyFlags> </node> <node> <index> 6553 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Nucleotide </name> <numberOfChildren> 2 </numberOfChildren> <nodeIndex> 6554 </nodeIndex> <nodeIndex> 6556 </nodeIndex> <propertyFlags> 0 </propertyFlags> <residueType> 34 </residueType> <residueTypeString> </residueTypeString> </node> <node> <index> 6554 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Backbone </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 6555 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 6555 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 0 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <position> <v[0]> 5569.81 </v[0]> <v[1]> 2913.26 </v[1]> <v[2]> -3182.39 </v[2]> </position> <element> 99 </element> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 6556 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name>Sidechain </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 6557 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 6557 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 0 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <position> <v[0]> 5667.77 </v[0]> <v[1]> 2915.8 </v[1]> <v[2]> -2721.34 </v[2]> </position> <element> 100 </element> <propertyFlags> 0 </propertyFlags> </node> ... </nodeContents> </SAMSON>Everything is in the data graph except for the atoms belonging to the backbone and sidechain.
-
I might need more information from the file but a quick check indicates that the visibility flag of the atoms is set to false:
<visibilityFlag> 0 </visibilityFlag>Is this normal? Also, do you have a
MyAtomclass or you use theSBAtomclass? There are also Einsteinium and Meitnerium atoms? -
It is normal, we hide them on purpose.
MyAtom class inherits from SBAtom, yes. I will try to produce a very small example so I can paste the entire file.
Edit: This is a small full sample
<SAMSON> <majorVersionNumber> 0 </majorVersionNumber> <minorVersionNumber> 7 </minorVersionNumber> <patchVersionNumber> 0 </patchVersionNumber> <numberOfNodeTypes> 13 </numberOfNodeTypes> <nodeTypes> <nodeType> <nodeTypeIndex> 0 </nodeTypeIndex> <className> MySidechain </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 1 </nodeTypeIndex> <className> MyBackbone </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 2 </nodeTypeIndex> <className> MyChain </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 3 </nodeTypeIndex> <className> MyStructuralModel </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 4 </nodeTypeIndex> <className> MyStructuralGroup </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 5 </nodeTypeIndex> <className> MyResidue </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 6 </nodeTypeIndex> <className> MyAtom </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 7 </nodeTypeIndex> <className> MyStructuralGroup2 </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 8 </nodeTypeIndex> <className> MyStructuralGroup3 </className> <elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 1.0.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 9 </nodeTypeIndex> <className> SBMStructuralModelNodeRoot </className> <elementUUID> 5A3CE002-9368-1EAF-7DBA-66567958AB1F </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 0.7.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 10 </nodeTypeIndex> <className> SBDDocumentCamera </className> <elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 0.7.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 11 </nodeTypeIndex> <className> SBDDocumentLayer </className> <elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 0.7.0 </classVersionNumber> </nodeType> <nodeType> <nodeTypeIndex> 12 </nodeTypeIndex> <className> SBDDocument </className> <elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID> <sdkVersionNumber> 0.7.0 </sdkVersionNumber> <classVersionNumber> 0.7.0 </classVersionNumber> </nodeType> </nodeTypes> <numberOfNodes> 21 </numberOfNodes> <nodes> <nodeTypeIndex> 12 </nodeTypeIndex> <nodeTypeIndex> 10 </nodeTypeIndex> <nodeTypeIndex> 11 </nodeTypeIndex> <nodeTypeIndex> 3 </nodeTypeIndex> <nodeTypeIndex> 9 </nodeTypeIndex> <nodeTypeIndex> 7 </nodeTypeIndex> <nodeTypeIndex> 4 </nodeTypeIndex> <nodeTypeIndex> 8 </nodeTypeIndex> <nodeTypeIndex> 6 </nodeTypeIndex> <nodeTypeIndex> 2 </nodeTypeIndex> <nodeTypeIndex> 5 </nodeTypeIndex> <nodeTypeIndex> 1 </nodeTypeIndex> <nodeTypeIndex> 6 </nodeTypeIndex> <nodeTypeIndex> 0 </nodeTypeIndex> <nodeTypeIndex> 6 </nodeTypeIndex> <nodeTypeIndex> 2 </nodeTypeIndex> <nodeTypeIndex> 5 </nodeTypeIndex> <nodeTypeIndex> 1 </nodeTypeIndex> <nodeTypeIndex> 6 </nodeTypeIndex> <nodeTypeIndex> 0 </nodeTypeIndex> <nodeTypeIndex> 6 </nodeTypeIndex> </nodes> <nodeContents> <node> <index> 0 </index> <expandedFlag> 1 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <numberOfCameras> 1 </numberOfCameras> <nodeIndex> 1 </nodeIndex> <numberOfLayers> 1 </numberOfLayers> <nodeIndex> 2 </nodeIndex> <numberOfGroups> 0 </numberOfGroups> <numberOfStoredConformations> 0 </numberOfStoredConformations> <numberOfStoredPaths> 0 </numberOfStoredPaths> <activeCameraIndex> 1 </activeCameraIndex> <activeLayerIndex> 2 </activeLayerIndex> </node> <node> <index> 1 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <name> Camera 1 </name> <eyePosition> <v[0]> 0 </v[0]> <v[1]> 0 </v[1]> <v[2]> 10000 </v[2]> </eyePosition> <targetPosition> <v[0]> 0 </v[0]> <v[1]> 0 </v[1]> <v[2]> 0 </v[2]> </targetPosition> <upVector> <v[0]> 0 </v[0]> <v[1]> 1 </v[1]> <v[2]> 0 </v[2]> </upVector> <nearPlane> 100 </nearPlane> <farPlane> 2e+06 </farPlane> <aspectRatio> 1.41675 </aspectRatio> <fieldOfViewAngleY> 19 </fieldOfViewAngleY> <inertiaFlag> 0 </inertiaFlag> </node> <node> <index> 2 </index> <expandedFlag> 1 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <name> Layer 1 </name> <numberOfModels> 1 </numberOfModels> <nodeIndex> 3 </nodeIndex> <numberOfSimulators> 0 </numberOfSimulators> <numberOfControllers> 0 </numberOfControllers> <numberOfLabels> 0 </numberOfLabels> <hasActiveModel> 0 </hasActiveModel> </node> <node> <index> 3 </index> <expandedFlag> 1 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <name> Structural model </name> <rootIndex> 4 </rootIndex> <propertyFlags> 0 </propertyFlags> <backboneNeighborGridInitialized> 0 </backboneNeighborGridInitialized> </node> <node> <index> 4 </index> <expandedFlag> 1 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Nodes </name> <numberOfChildren> 3 </numberOfChildren> <nodeIndex> 5 </nodeIndex> <nodeIndex> 9 </nodeIndex> <nodeIndex> 15 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 5 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Double Strand 1 </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 6 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 6 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Base Segment 4099 </name> <numberOfChildren> 2 </numberOfChildren> <nodeIndex> 7 </nodeIndex> <nodeIndex> 8 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 7 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Base Pair 4100 </name> <numberOfChildren> 0 </numberOfChildren> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 8 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 0 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <position> <v[0]> -877.886 </v[0]> <v[1]> 516.92 </v[1]> <v[2]> 0.0153761 </v[2]> </position> <element> 109 </element> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 9 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Single Strand 1 </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 10 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 10 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> N4102 </name> <numberOfChildren> 2 </numberOfChildren> <nodeIndex> 11 </nodeIndex> <nodeIndex> 13 </nodeIndex> <propertyFlags> 0 </propertyFlags> <residueType> 36 </residueType> <residueTypeString> </residueTypeString> </node> <node> <index> 11 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> N4102 Backbone </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 12 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 12 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 0 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <position> <v[0]> -970.453 </v[0]> <v[1]> -85.8914 </v[1]> <v[2]> 538.434 </v[2]> </position> <element> 99 </element> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 13 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> N4102 Sidechain </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 14 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 14 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 0 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <position> <v[0]> -880.731 </v[0]> <v[1]> 352.262 </v[1]> <v[2]> 220.392 </v[2]> </position> <element> 100 </element> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 15 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> Single Strand 2 </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 16 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 16 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> N4108 </name> <numberOfChildren> 2 </numberOfChildren> <nodeIndex> 17 </nodeIndex> <nodeIndex> 19 </nodeIndex> <propertyFlags> 0 </propertyFlags> <residueType> 36 </residueType> <residueTypeString> </residueTypeString> </node> <node> <index> 17 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> N4108 Backbone </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 18 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 18 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 0 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <position> <v[0]> -788.488 </v[0]> <v[1]> 1018.95 </v[1]> <v[2]> -570.406 </v[2]> </position> <element> 99 </element> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 19 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 1 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <name> N4108 Sidechain </name> <numberOfChildren> 1 </numberOfChildren> <nodeIndex> 20 </nodeIndex> <propertyFlags> 0 </propertyFlags> </node> <node> <index> 20 </index> <expandedFlag> 0 </expandedFlag> <visibilityFlag> 0 </visibilityFlag> <hasMaterial> 0 </hasMaterial> <mobilityFlag> 1 </mobilityFlag> <position> <v[0]> -874.781 </v[0]> <v[1]> 804.363 </v[1]> <v[2]> -159.697 </v[2]> </position> <element> 100 </element> <propertyFlags> 0 </propertyFlags> </node> </nodeContents> </SAMSON>The atoms below the Sidechain and Backbone are not created when reading the same, but the atom below the structural group is.
Thanks!
-
This looks perfect. Could you please try the following things:
- load the short file above, and send me the log (Edit / Show log / Submit).
- in the document view, select a MyAtom in a MyBackbone, and press Ctrl+C, Ctrl+V. Do you see a copy of the MyAtom appear in the document view? Serialization is also used for copy/paste, so issues should appear at that moment too.
Thanks,
Stephane
-
This looks perfect. Could you please try the following things:
- load the short file above, and send me the log (Edit / Show log / Submit).
- in the document view, select a MyAtom in a MyBackbone, and press Ctrl+C, Ctrl+V. Do you see a copy of the MyAtom appear in the document view? Serialization is also used for copy/paste, so issues should appear at that moment too.
Thanks,
Stephane
@stephane-redon
The log doesn't seem to show anything, I submitted it.
In the document view of the original system you can see the atoms in the document view. I attach two pictures showing the system I save and the system after loading the samx file.

Thanks!
PS: The element is now on the samson store, we are still debugging a lot but I could give you access if you want.
PS2: Copy and paste seems to work fine.
And another edit: I assumed the error would be on the atom, but I tried copy and pasting the Backbone or Sidechain and this time it didn't work. Could this be the problem?
-
Could you please add developer [(at)] oneangstrom.com as a collaborator and send me a samx so I can test here?
-
I did some checks in the code like:
void MyBackbone::unserialize(SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber, const SBVersionNumber & classVersionNumber)
{
SBBackbone::unserialize(serializer, nodeIndexer, sdkVersionNumber, classVersionNumber);auto test = getNumberOfAtoms();
int here = 1;
}And the number of atoms there looks correct. I tried also with more than one atom, and all the number is still fine, but they are not produced in the data graph. I will try to create a mock project to test this, just in case.
-
You can also check an updated Developer guide: Serialization.
-
Hi,
I think I found the problem. Some initialization functions in the constructor of my class were overriding the unserialization. I tried to make a quick fix but when I do static casts in the unserialize function, SAMSON is crashing, so I will modify my constructor and check, it will take a bit though.
Thanks for your help!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login