235 } |
235 } |
236 |
236 |
237 // ============================================================================= |
237 // ============================================================================= |
238 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
238 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
239 // ============================================================================= |
239 // ============================================================================= |
240 std::vector<LDObject*> loadFileContents (FILE* fp, ulong* numWarnings, bool* ok) { |
240 vector<LDObject*> loadFileContents (FILE* fp, ulong* numWarnings, bool* ok) { |
241 vector<str> lines; |
241 vector<str> lines; |
242 vector<LDObject*> objs; |
242 vector<LDObject*> objs; |
243 |
243 |
244 if (numWarnings) |
244 if (numWarnings) |
245 *numWarnings = 0; |
245 *numWarnings = 0; |
829 |
829 |
830 // ============================================================================= |
830 // ============================================================================= |
831 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
831 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
832 // ============================================================================= |
832 // ============================================================================= |
833 void LDOpenFile::insertObj (const ulong pos, LDObject* obj) { |
833 void LDOpenFile::insertObj (const ulong pos, LDObject* obj) { |
834 m_objs.insert (m_objs.begin () + pos, obj); |
834 m_objs.insert (pos, obj); |
835 |
835 |
836 if (this == g_curfile) |
836 if (this == g_curfile) |
837 g_BBox.calcObject (obj); |
837 g_BBox.calcObject (obj); |
838 } |
838 } |
839 |
839 |
840 // ============================================================================= |
840 // ============================================================================= |
841 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
841 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
842 // ============================================================================= |
842 // ============================================================================= |
843 void LDOpenFile::forgetObject (LDObject* obj) { |
843 void LDOpenFile::forgetObject (LDObject* obj) { |
844 // Find the index for the given object |
844 // Find the index for the given object |
845 ulong ulIndex; |
845 ulong idx; |
846 for (ulIndex = 0; ulIndex < (ulong)m_objs.size(); ++ulIndex) |
846 for (idx = 0; idx < (ulong)m_objs.size(); ++idx) |
847 if (m_objs[ulIndex] == obj) |
847 if (m_objs[idx] == obj) |
848 break; // found it |
848 break; // found it |
849 |
849 |
850 if (ulIndex >= m_objs.size ()) |
850 if (idx >= m_objs.size ()) |
851 return; // was not found |
851 return; // was not found |
852 |
852 |
853 // Erase it from memory |
853 // Erase it from memory |
854 m_objs.erase (m_objs.begin() + ulIndex); |
854 m_objs.erase (idx); |
855 |
855 |
856 // Update the bounding box |
856 // Update the bounding box |
857 if (this == g_curfile) |
857 if (this == g_curfile) |
858 g_BBox.calculate (); |
858 g_BBox.calculate (); |
859 } |
859 } |
860 |
860 |
861 // ============================================================================= |
861 // ============================================================================= |
862 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
862 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
863 // ============================================================================= |
863 // ============================================================================= |
864 std::vector<partListEntry> g_PartList; |
864 vector<partListEntry> g_PartList; |
865 |
865 |
866 void initPartList () { |
866 void initPartList () { |
867 logf ("%s: initializing parts.lst\n", __func__); |
867 logf ("%s: initializing parts.lst\n", __func__); |
868 |
868 |
869 FILE* fp = openLDrawFile ("parts.lst", false); |
869 FILE* fp = openLDrawFile ("parts.lst", false); |