Merge remote-tracking branch 'svn/trunk'

This commit is contained in:
jriegel 2012-01-30 08:04:37 +01:00
commit dbe3cd949d
5 changed files with 19 additions and 14 deletions

View File

@ -1529,6 +1529,7 @@ DocumentObject* Document::_copyObject(DocumentObject* obj, std::map<DocumentObje
} }
// unmark to be not re-computed later // unmark to be not re-computed later
copy->onFinishDuplicating();
copy->purgeTouched(); copy->purgeTouched();
return copy; return copy;
} }

View File

@ -181,6 +181,8 @@ protected:
virtual void onChanged(const Property* prop); virtual void onChanged(const Property* prop);
/// get called after a document has been fully restored /// get called after a document has been fully restored
virtual void onDocumentRestored() {} virtual void onDocumentRestored() {}
/// get called after duplicating an object
virtual void onFinishDuplicating() {}
/// python object of this class and all descendend /// python object of this class and all descendend
protected: // attributes protected: // attributes

View File

@ -18,16 +18,20 @@
if (WIN32) if (WIN32)
# TortoiseSVN # TortoiseSVN
FIND_PROGRAM(Subversion_WCREF_EXECUTABLE SubWCRev) FIND_PROGRAM(Subversion_WCREF_EXECUTABLE SubWCRev)
SET (RESULT 1)
if(Subversion_WCREF_EXECUTABLE) if(Subversion_WCREF_EXECUTABLE)
EXECUTE_PROCESS(COMMAND ${Subversion_WCREF_EXECUTABLE} ${CMAKE_SOURCE_DIR} EXECUTE_PROCESS(COMMAND ${Subversion_WCREF_EXECUTABLE} ${CMAKE_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/Version.h ${CMAKE_CURRENT_SOURCE_DIR}/Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/Version.h
RESULT_VARIABLE RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
else(Subversion_WCREF_EXECUTABLE) endif(Subversion_WCREF_EXECUTABLE)
# No SVN repo
if (NOT RESULT EQUAL 0)
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/SubWCRev.py EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/SubWCRev.py
--srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR} --srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
endif(Subversion_WCREF_EXECUTABLE) endif(NOT RESULT EQUAL 0)
else (WIN32) else (WIN32)
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/SubWCRev.py EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/Tools/SubWCRev.py
--srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR} --srcdir=${CMAKE_SOURCE_DIR} --bindir=${CMAKE_BINARY_DIR}
@ -37,16 +41,6 @@ endif (WIN32)
# as fallback if Version.h isn't created for any reason # as fallback if Version.h isn't created for any reason
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Version.h) if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Version.h)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Version.h file(READ ${CMAKE_CURRENT_SOURCE_DIR}/Version.h.in VERSION_INFO)
"/// Version Number\n" file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Version.h ${VERSION_INFO})
"#define FCVersionMajor \"0\"\n"
"#define FCVersionMinor \"11\"\n"
"#define FCVersionName \"Dagoba\"\n"
"\n"
"#define FCRevision \"unknown\"\n"
"#define FCRevisionDate \"unknown\"\n"
"#define FCRevisionRange \"unknown\"\n"
"#define FCRepositoryURL \"https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk\"\n"
"#define FCCurrentDateT \"unknown\"\n"
)
endif (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Version.h) endif (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Version.h)

View File

@ -1441,6 +1441,13 @@ void SketchObject::onDocumentRestored()
} }
} }
void SketchObject::onFinishDuplicating()
{
Constraints.acceptGeometry(getCompleteGeometry());
rebuildVertexIndex();
onDocumentRestored();
}
void SketchObject::getGeoVertexIndex(int VertexId, int &GeoId, PointPos &PosId) void SketchObject::getGeoVertexIndex(int VertexId, int &GeoId, PointPos &PosId)
{ {
if (VertexId < 0 || VertexId >= int(VertexId2GeoId.size())) { if (VertexId < 0 || VertexId >= int(VertexId2GeoId.size())) {

View File

@ -152,6 +152,7 @@ protected:
/// get called by the container when a property has changed /// get called by the container when a property has changed
virtual void onChanged(const App::Property* /*prop*/); virtual void onChanged(const App::Property* /*prop*/);
virtual void onDocumentRestored(); virtual void onDocumentRestored();
virtual void onFinishDuplicating();
private: private:
std::vector<Part::Geometry *> ExternalGeo; std::vector<Part::Geometry *> ExternalGeo;