MCPcopy Create free account
hub / github.com/NatLabRockies/OpenStudio / idfObjectImplPtr

Method idfObjectImplPtr

src/utilities/idf/WorkspaceObject.cpp:857–888  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

855 // SERIALIZATION
856
857 IdfObject_ImplPtr WorkspaceObject_Impl::idfObjectImplPtr() {
858 if (!initialized()) {
859 LOG_AND_THROW("Attempt to write a disconnected WorkspaceObject out to Idf.");
860 }
861
862 // construct new IdfObject from WorkspaceObject's data
863 IdfObject_ImplPtr result(new IdfObject_Impl(m_handle, m_comment, m_iddObject, m_fields, m_fieldComments));
864 // add name references based on WorkspaceObject's pointer data
865 if (m_sourceData) {
866 bool serializeHandle = m_iddObject.hasHandleField();
867 for (const ForwardPointer& ptr : m_sourceData->pointers) {
868 if (!ptr.targetHandle.isNull()) {
869 if (serializeHandle) {
870 result->setString(ptr.fieldIndex, toString(ptr.targetHandle));
871 } else {
872 OptionalString targetName = m_workspace->name(ptr.targetHandle);
873 OS_ASSERT(targetName);
874 if (targetName->empty()) {
875 // give target a name
876 OptionalWorkspaceObject target = m_workspace->getObject(ptr.targetHandle);
877 OS_ASSERT(target);
878 target->createName(false);
879 targetName = target->name();
880 OS_ASSERT(targetName);
881 }
882 result->setString(ptr.fieldIndex, *targetName);
883 }
884 }
885 }
886 }
887 return result;
888 }
889
890 IdfObject_ImplPtr WorkspaceObject_Impl::idfObjectImplPtr() const {
891 if (!initialized()) {

Callers 1

idfObjectMethod · 0.80

Calls 8

hasHandleFieldMethod · 0.80
isNullMethod · 0.80
toStringFunction · 0.50
setStringMethod · 0.45
nameMethod · 0.45
emptyMethod · 0.45
getObjectMethod · 0.45
createNameMethod · 0.45

Tested by

no test coverage detected