VertexPtr CTinOrientDBStorage::_GetStringToVertex(String& str) { String vertexRID = _GetProperty(str, "rid"); String X = _GetProperty(str, "x"); String Y = _GetProperty(str, "y"); String HalfEdgeRID = _GetProperty(str, "halfedge"); if (HalfEdgeRID == "null") HalfEdgeRID = ""; CTinOrientDBVertex* pV = new CTinOrientDBVertex(vertexRID, atof(X.c_str()), atof(Y.c_str()), HalfEdgeRID); return VertexPtr(pV); }
EdgePtr CTinOrientDBStorage::GetHalfEdge(RID RealEdgeRID) { RID EdgeRID = RealEdgeRID; std::map<RID,RID>::iterator oldRIDIter = m_MemoryRIDList.find(RealEdgeRID); if (oldRIDIter != m_MemoryRIDList.end()) { EdgeRID = oldRIDIter->second; } std::map<RID,EdgePtr>::iterator iter = m_EdgeCache.find(EdgeRID); if (iter != m_EdgeCache.end()) { return iter->second; } String strE = m_JNIOrientDB.GetHalfEdge(RealEdgeRID); String strEdgeRID = _GetProperty(strE, "rid"); String strIn = _GetProperty(strE, "in"); String strOut = _GetProperty(strE, "out"); String strPair = _GetProperty(strE, "pair"); String strCCW = _GetProperty(strE, "ccw"); String strCW = _GetProperty(strE, "cw"); CTinOrientDBHalfEdge* pV = new CTinOrientDBHalfEdge(strEdgeRID, strOut, strIn, strPair, strCCW, strCW); EdgePtr edgePtr = EdgePtr(pV); m_EdgeCache[strEdgeRID] = edgePtr; return edgePtr; }
VJSObject VJSPropertyIterator::GetPropertyAsObject( JS4D::ExceptionRef *outException) const { JS4D::ValueRef value = _GetProperty( outException); return VJSObject( fObject.GetContextRef(), ((value != NULL) && JSValueIsObject( fObject.GetContextRef(), value)) ? JSValueToObject( fObject.GetContextRef(), value, outException) : NULL); }