Skip to content

Commit

Permalink
2836: avoid std::function in Actions.cpp as it's slow to compile (60-…
Browse files Browse the repository at this point in the history
…95s) (TrenchBroom#2837)

* 2836: avoid std::function in Actions.cpp as it's slow to compile (60-95s)

New version is 5-10s

Fixes TrenchBroom#2836

* 2836: fix warning

* 2836: rename ActionSub -> LambdaAction

* 2836: fix conversion warning

* 2836: fix warning about deprecated qt functions

* 2836: enable more warnings in Xcode

* 2836: fix Xcode specific warnings

* 2836: fix warnings

* 2836: Attempt to work around GCC failing to deduce class template arguments with lambda types

* 2836: Work around deprecation warnings in centerWindow function.

* 2836: fixes for Qt < 5.10.0

* 2836: move action parameters instead of copying them
  • Loading branch information
ericwa authored and kduske committed Nov 23, 2019
1 parent 46355e3 commit 43fbd4f
Show file tree
Hide file tree
Showing 10 changed files with 362 additions and 285 deletions.
3 changes: 0 additions & 3 deletions app/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,6 @@ macro(configure_app_target APP_TARGET_NAME)
# Set the path to the plist template
set_target_properties(${APP_TARGET_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${APP_RESOURCE_DIR}/mac/TrenchBroom-Info.plist")

# Configure the XCode generator project
set_xcode_attributes(${APP_TARGET_NAME})

# If requested, run macdeployqt which copies the Qt frameworks into the TrenchBroom.app bundle
# and modifies the TrenchBroom executable to refer to these private copies of the framework instead
# of the ones in /usr/local. This is slow so only do it if requested.
Expand Down
221 changes: 133 additions & 88 deletions cmake/Utils.cmake
Original file line number Diff line number Diff line change
@@ -1,49 +1,93 @@
MACRO(SET_XCODE_ATTRIBUTES TARGET)
# Set Debug information format
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Debug] "dwarf")
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Release] "dwarf-with-dsym")
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=RelWithDebInfo] "dwarf-with-dsym")
# Set some warnings
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_PEDANTIC YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_64_TO_32_BIT_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_RETURN_TYPE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_SIGN_COMPARE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNINITIALIZED_AUTOS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_FUNCTION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_VARIABLE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_NON_VIRTUAL_DESTRUCTOR YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNDECLARED_SELECTOR YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_CHECK_SWITCH_STATEMENTS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_SHADOW YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_MISSING_PARENTHESES YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_MISSING_NEWLINE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_POINTER_SIGNEDNESS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNKNOWN_PRAGMAS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_LABEL YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_VALUE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS YES)

set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_EMPTY_BODY YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_INT_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_IMPLICIT_SIGN_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_ENUM_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_ASSIGN_ENUM YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_UNREACHABLE_CODE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_CXX0X_EXTENSIONS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_DIRECT_OBJC_ISA_USAGE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_MOVE YES)

set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=Debug] YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=Release] NO)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=RelWithDebInfo] NO)
ENDMACRO(SET_XCODE_ATTRIBUTES)

MACRO(set_compiler_config TARGET)
macro(SET_XCODE_ATTRIBUTES TARGET)
if (CMAKE_GENERATOR STREQUAL "Xcode")
# Set Debug information format
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Debug] "dwarf")
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Release] "dwarf-with-dsym")
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=RelWithDebInfo] "dwarf-with-dsym")

# Set some warnings
# See https://github.com/jonreid/XcodeWarnings/blob/master/XcodeWarnings.xcconfig

# Warning policies
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_PEDANTIC YES)

# All languages
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_ASSIGN_ENUM YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_BOOL_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_COMMA YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_CONSTANT_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_DOCUMENTATION_COMMENTS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_EMPTY_BODY YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_ENUM_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_IMPLICIT_SIGN_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_INFINITE_RECURSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_INT_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_NON_LITERAL_NULL_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_PRAGMA_PACK YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_PRIVATE_MODULE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_STRICT_PROTOTYPES YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_UNGUARDED_AVAILABILITY YES_AGGRESSIVE)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_UNREACHABLE_CODE YES_AGGRESSIVE)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_CLANG_WARN_FLOAT_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_64_TO_32_BIT_CONVERSION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_MISSING_NEWLINE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_MISSING_PROTOTYPES YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_POINTER_SIGNEDNESS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_RETURN_TYPE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_CHECK_SWITCH_STATEMENTS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_FOUR_CHARACTER_CONSTANTS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_MISSING_PARENTHESES YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_SHADOW YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_SIGN_COMPARE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_TYPECHECK_CALLS_TO_PRINTF YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNINITIALIZED_AUTOS YES_AGGRESSIVE)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNKNOWN_PRAGMAS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_FUNCTION YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_LABEL YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_PARAMETER YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_VALUE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_UNUSED_VARIABLE YES)

# C++
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN__EXIT_TIME_DESTRUCTORS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_ATOMIC_IMPLICIT_SEQ_CST YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_CXX0X_EXTENSIONS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_DELETE_NON_VIRTUAL_DTOR YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_RANGE_LOOP_ANALYSIS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_MOVE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_WARN_VEXING_PARSE YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_WARN_NON_VIRTUAL_DESTRUCTOR YES)

# Undefined behavior sanitizer
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_UNDEFINED_BEHAVIOR_SANITIZER_INTEGER YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY YES)

# Address sanitizer
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_CLANG_ADDRESS_SANITIZER_CONTAINER_OVERFLOW YES)

# Code generation
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_STRICT_ALIASING YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_REUSE_STRINGS YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_GCC_NO_COMMON_BLOCKS YES)


set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=Debug] YES)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=Release] NO)
set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=RelWithDebInfo] NO)
endif()
endmacro(SET_XCODE_ATTRIBUTES)

macro(set_compiler_config TARGET)
if(COMPILER_IS_CLANG)
target_compile_options(${TARGET} PRIVATE -Wall -Wextra -pedantic)
target_compile_options(${TARGET} PRIVATE -Wno-global-constructors -Wno-exit-time-destructors -Wno-padded -Wno-format-nonliteral -Wno-used-but-marked-unused)
Expand Down Expand Up @@ -87,50 +131,51 @@ MACRO(set_compiler_config TARGET)
else()
message(FATAL_ERROR "Cannot set compile options for target ${TARGET}")
endif()
ENDMACRO(set_compiler_config)
SET_XCODE_ATTRIBUTES(${TARGET})
endmacro(set_compiler_config)

MACRO(FIX_WIN32_PATH VARNAME)
IF (WIN32)
macro(FIX_WIN32_PATH VARNAME)
if(WIN32)
STRING(REPLACE "/" "\\" ${VARNAME} "${${VARNAME}}")
ENDIF()
ENDMACRO(FIX_WIN32_PATH)

MACRO(ADD_TARGET_PROPERTY TARGET PROPERTY VALUE)
GET_TARGET_PROPERTY(CURRENT_VALUE ${TARGET} ${PROPERTY})
IF(NOT CURRENT_VALUE)
SET_PROPERTY(TARGET ${TARGET} PROPERTY ${PROPERTY} ${VALUE})
ELSE()
endif()
endmacro(FIX_WIN32_PATH)

macro(ADD_TARGET_PROPERTY TARGET PROPERTY VALUE)
get_target_property(CURRENT_VALUE ${TARGET} ${PROPERTY})
if(NOT CURRENT_VALUE)
set_property(TARGET ${TARGET} PROPERTY ${PROPERTY} ${VALUE})
else()
LIST(APPEND CURRENT_VALUE ${VALUE})
SET_PROPERTY(TARGET ${TARGET} PROPERTY ${PROPERTY} ${CURRENT_VALUE})
ENDIF()
ENDMACRO(ADD_TARGET_PROPERTY)

MACRO(GET_APP_VERSION GIT_DESCRIBE VERSION_YEAR VERSION_NUMBER)
IF(NOT ${GIT_DESCRIBE})
SET(${GIT_DESCRIBE} "v0000.0")
ENDIF()
set_property(TARGET ${TARGET} PROPERTY ${PROPERTY} ${CURRENT_VALUE})
endif()
endmacro(ADD_TARGET_PROPERTY)

macro(GET_APP_VERSION GIT_DESCRIBE VERSION_YEAR VERSION_NUMBER)
if(NOT ${GIT_DESCRIBE})
set(${GIT_DESCRIBE} "v0000.0")
endif()
STRING(REGEX MATCH "v([0-9][0-9][0-9][0-9])[.]([0-9]+)" GIT_DESCRIBE_MATCH "${${GIT_DESCRIBE}}")

IF(GIT_DESCRIBE_MATCH)
SET(${VERSION_YEAR} ${CMAKE_MATCH_1})
SET(${VERSION_NUMBER} ${CMAKE_MATCH_2})
ELSE()
MESSAGE(FATAL_ERROR "Couldn't parse version from git describe output '${${GIT_DESCRIBE}}'")
ENDIF()
ENDMACRO(GET_APP_VERSION)

MACRO(GET_GIT_DESCRIBE GIT SOURCE_DIR GIT_DESCRIBE)
EXECUTE_PROCESS(COMMAND ${GIT} describe --dirty WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE ${GIT_DESCRIBE} OUTPUT_STRIP_TRAILING_WHITESPACE)
ENDMACRO(GET_GIT_DESCRIBE)

MACRO(GET_BUILD_PLATFORM PLATFORM_NAME)
IF(WIN32)
SET(${PLATFORM_NAME} "Win32")
ELSEIF(APPLE)
SET(${PLATFORM_NAME} "MacOSX")
ELSEIF(UNIX)
SET(${PLATFORM_NAME} "Linux")
ELSE()
SET(${PLATFORM_NAME} "Unknown")
ENDIF()
ENDMACRO(GET_BUILD_PLATFORM)
if(GIT_DESCRIBE_MATCH)
set(${VERSION_YEAR} ${CMAKE_MATCH_1})
set(${VERSION_NUMBER} ${CMAKE_MATCH_2})
else()
message(FATAL_ERROR "Couldn't parse version from git describe output '${${GIT_DESCRIBE}}'")
endif()
endmacro(GET_APP_VERSION)

macro(GET_GIT_DESCRIBE GIT SOURCE_DIR GIT_DESCRIBE)
execute_process(COMMAND ${GIT} describe --dirty WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE ${GIT_DESCRIBE} OUTPUT_STRIP_TRAILING_WHITESPACE)
endmacro(GET_GIT_DESCRIBE)

macro(GET_BUILD_PLATFORM PLATFORM_NAME)
if(WIN32)
set(${PLATFORM_NAME} "Win32")
elseif(APPLE)
set(${PLATFORM_NAME} "MacOSX")
elseif(UNIX)
set(${PLATFORM_NAME} "Linux")
else()
set(${PLATFORM_NAME} "Unknown")
endif()
endmacro(GET_BUILD_PLATFORM)
8 changes: 5 additions & 3 deletions common/src/Polyhedron.h
Original file line number Diff line number Diff line change
Expand Up @@ -1538,7 +1538,8 @@ class Polyhedron {
* and the given points.
*
* @tparam I the type of the given iterators
* @param cur, end the range of points to add to this polyhedron
* @param cur start of the range of points to add
* @param end end of the range of points to add
*/
template <typename I> void addPoints(I cur, I end);

Expand All @@ -1548,7 +1549,8 @@ class Polyhedron {
* and the given points.
*
* @tparam I the type of the given iterators
* @param cur, end the range of points to add to this polyhedron
* @param cur start of the range of points to add
* @param end end of the range of points to add
* @param callback the callback to inform of lifecycle events
*/
template <typename I> void addPoints(I cur, I end, Callback& callback);
Expand Down Expand Up @@ -2063,7 +2065,7 @@ class Polyhedron {
* Clips this polyhedron with all faces of the given polyhedron. The result is the intersection of this and
* the given polyhedron. This polyhedron remains unchanged.
*
* @param polyhedron the polyhedron to clip with
* @param other the polyhedron to clip with
* @param callback the callback to use when determining the normals of the given subtrahend's faces
* @return the result of the clipping operation
* @throw GeometryException if the polyhedron cannot be intersected with any face of the given polyhedron
Expand Down
3 changes: 2 additions & 1 deletion common/src/Polyhedron_ConvexHull.h
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,8 @@ class Polyhedron<T,FP,VP>::Seam {
/**
* Replaces the range [first, end) of this seam with the given edge.
*
* @param first, end the range of edges to replace
* @param first start of the range of edges to replace
* @param end end end of the range of edges to replace
* @param replacement the replacemenet edge, must not be null
*/
void replace(typename List::iterator first, typename List::iterator end, Edge* replacement) {
Expand Down
Loading

0 comments on commit 43fbd4f

Please sign in to comment.