Merged from branch 'branches/wrap_mods' into branch 'branches/wrap_mods_inheritance'
commit
ee5f4c3145
327
.cproject
327
.cproject
|
|
@ -308,6 +308,14 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testGaussianFactor.run" path="linear/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testGaussianFactor.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
|
@ -334,7 +342,6 @@
|
|||
</target>
|
||||
<target name="tests/testBayesTree.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>tests/testBayesTree.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -342,7 +349,6 @@
|
|||
</target>
|
||||
<target name="testBinaryBayesNet.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testBinaryBayesNet.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -390,7 +396,6 @@
|
|||
</target>
|
||||
<target name="testSymbolicBayesNet.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSymbolicBayesNet.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -398,7 +403,6 @@
|
|||
</target>
|
||||
<target name="tests/testSymbolicFactor.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>tests/testSymbolicFactor.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -406,7 +410,6 @@
|
|||
</target>
|
||||
<target name="testSymbolicFactorGraph.run" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSymbolicFactorGraph.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -422,20 +425,11 @@
|
|||
</target>
|
||||
<target name="tests/testBayesTree" path="inference" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>tests/testBayesTree</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testGaussianFactor.run" path="linear/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testGaussianFactor.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testPoseRTV.run" path="build/gtsam_unstable/dynamics" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
|
|
@ -524,22 +518,6 @@
|
|||
<useDefaultCommand>false</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testPose2.run" path="build_retract/gtsam/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testPose2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testPose3.run" path="build_retract/gtsam/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testPose3.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="CppUnitLite" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
|
@ -556,6 +534,22 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testPose2.run" path="build_retract/gtsam/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testPose2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="tests/testPose3.run" path="build_retract/gtsam/geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>tests/testPose3.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="spqr_mini" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
|
@ -580,26 +574,26 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="all" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="testValues.run" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>all</buildTarget>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testValues.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="testOrdering.run" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testOrdering.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="testKey.run" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testKey.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
|
|
@ -684,26 +678,26 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testValues.run" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="all" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testValues.run</buildTarget>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>all</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testOrdering.run" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="check" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testOrdering.run</buildTarget>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testKey.run" path="build/gtsam/nonlinear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="clean" path="build_wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testKey.run</buildTarget>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
|
|
@ -958,7 +952,6 @@
|
|||
</target>
|
||||
<target name="testGraph.run" path="build/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testGraph.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -966,7 +959,6 @@
|
|||
</target>
|
||||
<target name="testJunctionTree.run" path="build/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testJunctionTree.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -974,7 +966,6 @@
|
|||
</target>
|
||||
<target name="testSymbolicBayesNetB.run" path="build/tests" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSymbolicBayesNetB.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -1110,7 +1101,6 @@
|
|||
</target>
|
||||
<target name="testErrors.run" path="linear" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testErrors.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -1574,6 +1564,7 @@
|
|||
</target>
|
||||
<target name="testSimulated2DOriented.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSimulated2DOriented.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -1613,6 +1604,7 @@
|
|||
</target>
|
||||
<target name="testSimulated2D.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSimulated2D.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -1620,6 +1612,7 @@
|
|||
</target>
|
||||
<target name="testSimulated3D.run" path="slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>testSimulated3D.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -1835,6 +1828,7 @@
|
|||
</target>
|
||||
<target name="tests/testGaussianISAM2" path="build/slam" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>tests/testGaussianISAM2</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -1856,6 +1850,102 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testRot3.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testRot3.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testRot2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testRot2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testPose3.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testPose3.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="timeRot3.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>timeRot3.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testPose2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testPose2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testCal3_S2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testCal3_S2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testSimpleCamera.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testSimpleCamera.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testHomography2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testHomography2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testCalibratedCamera.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testCalibratedCamera.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testPoint2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testPoint2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="install" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
|
|
@ -2057,7 +2147,6 @@
|
|||
</target>
|
||||
<target name="Generate DEB Package" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>cpack</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>-G DEB</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -2065,7 +2154,6 @@
|
|||
</target>
|
||||
<target name="Generate RPM Package" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>cpack</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>-G RPM</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -2073,7 +2161,6 @@
|
|||
</target>
|
||||
<target name="Generate TGZ Package" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>cpack</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>-G TGZ</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -2081,7 +2168,6 @@
|
|||
</target>
|
||||
<target name="Generate TGZ Source Package" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>cpack</buildCommand>
|
||||
<buildArguments/>
|
||||
<buildTarget>--config CPackSourceConfig.cmake</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>false</useDefaultCommand>
|
||||
|
|
@ -2207,98 +2293,34 @@
|
|||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testRot3.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="testSpirit.run" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testRot3.run</buildTarget>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testSpirit.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testRot2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="testWrap.run" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testRot2.run</buildTarget>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testWrap.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testPose3.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="check.wrap" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testPose3.run</buildTarget>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>check.wrap</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="timeRot3.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<target name="wrap" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>timeRot3.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testPose2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testPose2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testCal3_S2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testCal3_S2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testSimpleCamera.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testSimpleCamera.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testHomography2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testHomography2.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testCalibratedCamera.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testCalibratedCamera.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>check</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="clean" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>clean</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testPoint2.run" path="geometry" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j2</buildArguments>
|
||||
<buildTarget>testPoint2.run</buildTarget>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>wrap</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
|
|
@ -2342,46 +2364,7 @@
|
|||
<useDefaultCommand>false</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testSpirit.run" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testSpirit.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="testWrap.run" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>testWrap.run</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="check.wrap" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>check.wrap</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="wrap_gtsam" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>wrap_gtsam</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
<target name="wrap" path="build/wrap" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
|
||||
<buildCommand>make</buildCommand>
|
||||
<buildArguments>-j5</buildArguments>
|
||||
<buildTarget>wrap</buildTarget>
|
||||
<stopOnError>true</stopOnError>
|
||||
<useDefaultCommand>true</useDefaultCommand>
|
||||
<runAllBuilders>true</runAllBuilders>
|
||||
</target>
|
||||
</buildTargets>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
</cproject>
|
||||
|
|
|
|||
10
gtsam.h
10
gtsam.h
|
|
@ -702,17 +702,17 @@ class VariableIndex {
|
|||
|
||||
#include <gtsam/linear/NoiseModel.h>
|
||||
namespace noiseModel {
|
||||
class Base {
|
||||
virtual class Base {
|
||||
};
|
||||
|
||||
class Gaussian : gtsam::noiseModel::Base {
|
||||
virtual class Gaussian : gtsam::noiseModel::Base {
|
||||
static gtsam::noiseModel::Gaussian* SqrtInformation(Matrix R);
|
||||
static gtsam::noiseModel::Gaussian* Covariance(Matrix R);
|
||||
// Matrix R() const; // FIXME: cannot parse!!!
|
||||
void print(string s) const;
|
||||
};
|
||||
|
||||
class Diagonal : gtsam::noiseModel::Gaussian {
|
||||
virtual class Diagonal : gtsam::noiseModel::Gaussian {
|
||||
static gtsam::noiseModel::Diagonal* Sigmas(Vector sigmas);
|
||||
static gtsam::noiseModel::Diagonal* Variances(Vector variances);
|
||||
static gtsam::noiseModel::Diagonal* Precisions(Vector precisions);
|
||||
|
|
@ -720,14 +720,14 @@ class Diagonal : gtsam::noiseModel::Gaussian {
|
|||
void print(string s) const;
|
||||
};
|
||||
|
||||
class Isotropic : gtsam::noiseModel::Gaussian {
|
||||
virtual class Isotropic : gtsam::noiseModel::Gaussian {
|
||||
static gtsam::noiseModel::Isotropic* Sigma(size_t dim, double sigma);
|
||||
static gtsam::noiseModel::Isotropic* Variance(size_t dim, double varianace);
|
||||
static gtsam::noiseModel::Isotropic* Precision(size_t dim, double precision);
|
||||
void print(string s) const;
|
||||
};
|
||||
|
||||
class Unit : gtsam::noiseModel::Gaussian {
|
||||
virtual class Unit : gtsam::noiseModel::Gaussian {
|
||||
static gtsam::noiseModel::Unit* Create(size_t dim);
|
||||
void print(string s) const;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -86,9 +86,6 @@ ISAM2& ISAM2::operator=(const ISAM2& rhs) {
|
|||
params_ = rhs.params_;
|
||||
doglegDelta_ = rhs.doglegDelta_;
|
||||
|
||||
#ifndef NDEBUG
|
||||
lastRelinVariables_ = rhs.lastRelinVariables_;
|
||||
#endif
|
||||
lastAffectedVariableCount = rhs.lastAffectedVariableCount;
|
||||
lastAffectedFactorCount = rhs.lastAffectedFactorCount;
|
||||
lastAffectedCliqueCount = rhs.lastAffectedCliqueCount;
|
||||
|
|
@ -661,15 +658,8 @@ ISAM2Result ISAM2::update(
|
|||
toc(7,"expmap");
|
||||
|
||||
result.variablesRelinearized = markedKeys.size();
|
||||
|
||||
#ifndef NDEBUG
|
||||
lastRelinVariables_ = markedRelinMask;
|
||||
#endif
|
||||
} else {
|
||||
result.variablesRelinearized = 0;
|
||||
#ifndef NDEBUG
|
||||
lastRelinVariables_ = vector<bool>(ordering_.nVars(), false);
|
||||
#endif
|
||||
}
|
||||
|
||||
tic(8,"linearize new");
|
||||
|
|
|
|||
|
|
@ -403,11 +403,6 @@ protected:
|
|||
/** The inverse ordering, only used for creating ISAM2Result::DetailedResults */
|
||||
boost::optional<Ordering::InvertedMap> inverseOrdering_;
|
||||
|
||||
private:
|
||||
#ifndef NDEBUG
|
||||
std::vector<bool> lastRelinVariables_;
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
typedef ISAM2 This; ///< This class
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ namespace visualSLAM {
|
|||
if (Z.rows() != 2) throw std::invalid_argument("insertBackProjections: Z must be 2*K");
|
||||
if (Z.cols() != J.size()) throw std::invalid_argument(
|
||||
"insertBackProjections: J and Z must have same number of entries");
|
||||
for(size_t k=0;k<Z.cols();k++) {
|
||||
for(int k=0;k<Z.cols();k++) {
|
||||
Point2 p(Z(0,k),Z(1,k));
|
||||
Point3 P = camera.backproject(p, depth);
|
||||
insertPoint(J(k), P);
|
||||
|
|
@ -82,7 +82,7 @@ namespace visualSLAM {
|
|||
if (Z.rows() != 2) throw std::invalid_argument("addMeasurements: Z must be 2*K");
|
||||
if (Z.cols() != J.size()) throw std::invalid_argument(
|
||||
"addMeasurements: J and Z must have same number of entries");
|
||||
for (size_t k = 0; k < Z.cols(); k++)
|
||||
for (int k = 0; k < Z.cols(); k++)
|
||||
addMeasurement(Point2(Z(0, k), Z(1, k)), model, i, J(k), K);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,148 @@
|
|||
/**
|
||||
* @file LinearContainerFactor.cpp
|
||||
*
|
||||
* @date Jul 6, 2012
|
||||
* @author Alex Cunningham
|
||||
*/
|
||||
|
||||
#include <gtsam_unstable/nonlinear/LinearContainerFactor.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
namespace gtsam {
|
||||
|
||||
/* ************************************************************************* */
|
||||
void LinearContainerFactor::rekeyFactor(const Ordering& ordering) {
|
||||
Ordering::InvertedMap invOrdering = ordering.invert(); // TODO: inefficient - make more selective ordering invert
|
||||
rekeyFactor(invOrdering);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
void LinearContainerFactor::rekeyFactor(const Ordering::InvertedMap& invOrdering) {
|
||||
BOOST_FOREACH(Index& idx, factor_->keys()) {
|
||||
Key fullKey = invOrdering.find(idx)->second;
|
||||
idx = fullKey;
|
||||
keys_.push_back(fullKey);
|
||||
}
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
LinearContainerFactor::LinearContainerFactor(
|
||||
const JacobianFactor& factor, const Ordering& ordering)
|
||||
: factor_(factor.clone()) {
|
||||
rekeyFactor(ordering);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
LinearContainerFactor::LinearContainerFactor(
|
||||
const HessianFactor& factor, const Ordering& ordering)
|
||||
: factor_(factor.clone()) {
|
||||
rekeyFactor(ordering);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
LinearContainerFactor::LinearContainerFactor(
|
||||
const GaussianFactor::shared_ptr& factor, const Ordering& ordering)
|
||||
: factor_(factor->clone()) {
|
||||
rekeyFactor(ordering);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
LinearContainerFactor::LinearContainerFactor(
|
||||
const GaussianFactor::shared_ptr& factor)
|
||||
: factor_(factor->clone())
|
||||
{
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
LinearContainerFactor::LinearContainerFactor(const JacobianFactor& factor,
|
||||
const Ordering::InvertedMap& inverted_ordering)
|
||||
: factor_(factor.clone()) {
|
||||
rekeyFactor(inverted_ordering);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
LinearContainerFactor::LinearContainerFactor(const HessianFactor& factor,
|
||||
const Ordering::InvertedMap& inverted_ordering)
|
||||
: factor_(factor.clone()) {
|
||||
rekeyFactor(inverted_ordering);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
LinearContainerFactor::LinearContainerFactor(
|
||||
const GaussianFactor::shared_ptr& factor,
|
||||
const Ordering::InvertedMap& ordering)
|
||||
: factor_(factor->clone()) {
|
||||
rekeyFactor(ordering);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
void LinearContainerFactor::print(const std::string& s, const KeyFormatter& keyFormatter) const {
|
||||
Base::print(s+"LinearContainerFactor", keyFormatter);
|
||||
if (factor_)
|
||||
factor_->print(" Stored Factor", keyFormatter);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
bool LinearContainerFactor::equals(const NonlinearFactor& f, double tol) const {
|
||||
const LinearContainerFactor* jcf = dynamic_cast<const LinearContainerFactor*>(&f);
|
||||
return jcf && factor_->equals(*jcf->factor_, tol) && NonlinearFactor::equals(f);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
double LinearContainerFactor::error(const Values& c) const {
|
||||
// VectorValues vecvalues;
|
||||
// // FIXME: add values correctly here
|
||||
// return factor_.error(vecvalues);
|
||||
return 0; // FIXME: placeholder
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
size_t LinearContainerFactor::dim() const {
|
||||
if (isJacobian())
|
||||
return toJacobian()->get_model()->dim();
|
||||
else
|
||||
return 1; // Hessians don't have true dimension
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
boost::shared_ptr<GaussianFactor>
|
||||
LinearContainerFactor::linearize(const Values& c, const Ordering& ordering) const {
|
||||
// clone factor
|
||||
boost::shared_ptr<GaussianFactor> result = factor_->clone();
|
||||
|
||||
// rekey
|
||||
BOOST_FOREACH(Index& key, result->keys())
|
||||
key = ordering[key];
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
bool LinearContainerFactor::isJacobian() const {
|
||||
return boost::shared_dynamic_cast<JacobianFactor>(factor_);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
JacobianFactor::shared_ptr LinearContainerFactor::toJacobian() const {
|
||||
return boost::shared_dynamic_cast<JacobianFactor>(factor_);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
HessianFactor::shared_ptr LinearContainerFactor::toHessian() const {
|
||||
return boost::shared_dynamic_cast<HessianFactor>(factor_);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
GaussianFactor::shared_ptr LinearContainerFactor::negate(const Ordering& ordering) const {
|
||||
GaussianFactor::shared_ptr result = factor_->negate();
|
||||
BOOST_FOREACH(Key& key, result->keys())
|
||||
key = ordering[key];
|
||||
return result;
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
} // \namespace gtsam
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* @file LinearContainerFactor.h
|
||||
*
|
||||
* @brief Wrap Jacobian and Hessian linear factors to allow simple injection into a nonlinear graph
|
||||
*
|
||||
* @date Jul 6, 2012
|
||||
* @author Alex Cunningham
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <gtsam/linear/HessianFactor.h>
|
||||
#include <gtsam/nonlinear/NonlinearFactor.h>
|
||||
|
||||
namespace gtsam {
|
||||
|
||||
/**
|
||||
* Dummy version of a generic linear factor to be injected into a nonlinear factor graph
|
||||
*/
|
||||
class LinearContainerFactor : public NonlinearFactor {
|
||||
protected:
|
||||
|
||||
GaussianFactor::shared_ptr factor_;
|
||||
|
||||
public:
|
||||
|
||||
/** Primary constructor: store a linear factor and decode the ordering */
|
||||
LinearContainerFactor(const JacobianFactor& factor, const Ordering& ordering);
|
||||
|
||||
/** Primary constructor: store a linear factor and decode the ordering */
|
||||
LinearContainerFactor(const HessianFactor& factor, const Ordering& ordering);
|
||||
|
||||
/** Constructor from shared_ptr */
|
||||
LinearContainerFactor(const GaussianFactor::shared_ptr& factor, const Ordering& ordering);
|
||||
|
||||
/** Constructor from re-keyed factor: all indices assumed replaced with Key */
|
||||
LinearContainerFactor(const GaussianFactor::shared_ptr& factor);
|
||||
|
||||
/** Alternate constructor: store a linear factor and decode keys with inverted ordering*/
|
||||
LinearContainerFactor(const JacobianFactor& factor,
|
||||
const Ordering::InvertedMap& inverted_ordering);
|
||||
|
||||
/** Alternate constructor: store a linear factor and decode keys with inverted ordering*/
|
||||
LinearContainerFactor(const HessianFactor& factor,
|
||||
const Ordering::InvertedMap& inverted_ordering);
|
||||
|
||||
/** Constructor from shared_ptr with inverted ordering*/
|
||||
LinearContainerFactor(const GaussianFactor::shared_ptr& factor,
|
||||
const Ordering::InvertedMap& ordering);
|
||||
|
||||
// Access
|
||||
|
||||
const GaussianFactor::shared_ptr& factor() const { return factor_; }
|
||||
|
||||
// Testable
|
||||
|
||||
/** print */
|
||||
void print(const std::string& s = "", const KeyFormatter& keyFormatter = gtsam::DefaultKeyFormatter) const;
|
||||
|
||||
/** Check if two factors are equal */
|
||||
bool equals(const NonlinearFactor& f, double tol = 1e-9) const;
|
||||
|
||||
// NonlinearFactor
|
||||
|
||||
/**
|
||||
* Calculate the error of the factor: uses the underlying linear factor to compute ordering
|
||||
*/
|
||||
double error(const Values& c) const;
|
||||
|
||||
/** get the dimension of the factor: rows of linear factor */
|
||||
size_t dim() const;
|
||||
|
||||
/** linearize to a GaussianFactor: values has no effect, just clones/rekeys underlying factor */
|
||||
boost::shared_ptr<GaussianFactor>
|
||||
linearize(const Values& c, const Ordering& ordering) const;
|
||||
|
||||
/**
|
||||
* Creates an anti-factor directly and performs rekeying due to ordering
|
||||
*/
|
||||
GaussianFactor::shared_ptr negate(const Ordering& ordering) const;
|
||||
|
||||
/**
|
||||
* Creates a shared_ptr clone of the factor - needs to be specialized to allow
|
||||
* for subclasses
|
||||
*
|
||||
* Clones the underlying linear factor
|
||||
*/
|
||||
NonlinearFactor::shared_ptr clone() const {
|
||||
return NonlinearFactor::shared_ptr(new LinearContainerFactor(factor_));
|
||||
}
|
||||
|
||||
// casting syntactic sugar
|
||||
|
||||
/**
|
||||
* Simple check whether this is a Jacobian or Hessian factor
|
||||
*/
|
||||
bool isJacobian() const;
|
||||
|
||||
/** Casts to JacobianFactor */
|
||||
JacobianFactor::shared_ptr toJacobian() const;
|
||||
|
||||
/** Casts to HessianFactor */
|
||||
HessianFactor::shared_ptr toHessian() const;
|
||||
|
||||
protected:
|
||||
void rekeyFactor(const Ordering& ordering);
|
||||
void rekeyFactor(const Ordering::InvertedMap& invOrdering);
|
||||
|
||||
}; // \class LinearContainerFactor
|
||||
|
||||
} // \namespace gtsam
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* @file testLinearContainerFactor.cpp
|
||||
*
|
||||
* @date Jul 6, 2012
|
||||
* @author Alex Cunningham
|
||||
*/
|
||||
|
||||
#include <CppUnitLite/TestHarness.h>
|
||||
|
||||
#include <gtsam_unstable/nonlinear/LinearContainerFactor.h>
|
||||
|
||||
#include <gtsam/geometry/Pose2.h>
|
||||
|
||||
using namespace gtsam;
|
||||
|
||||
const gtsam::noiseModel::Diagonal::shared_ptr diag_model2 = noiseModel::Diagonal::Sigmas(Vector_(2, 1.0, 1.0));
|
||||
const double tol = 1e-5;
|
||||
|
||||
gtsam::Key l1 = 101, l2 = 102, x1 = 1, x2 = 2;
|
||||
|
||||
Point2 landmark1(5.0, 1.5), landmark2(7.0, 1.5);
|
||||
Pose2 poseA1(0.0, 0.0, 0.0), poseA2(2.0, 0.0, 0.0);
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( testLinearContainerFactor, generic_jacobian_factor ) {
|
||||
|
||||
Ordering initOrdering; initOrdering += x1, x2, l1, l2;
|
||||
|
||||
JacobianFactor expLinFactor1(
|
||||
initOrdering[l1],
|
||||
Matrix_(2,2,
|
||||
2.74222, -0.0067457,
|
||||
0.0, 2.63624),
|
||||
initOrdering[l2],
|
||||
Matrix_(2,2,
|
||||
-0.0455167, -0.0443573,
|
||||
-0.0222154, -0.102489),
|
||||
Vector_(2, 0.0277052,
|
||||
-0.0533393),
|
||||
diag_model2);
|
||||
|
||||
LinearContainerFactor actFactor1(expLinFactor1, initOrdering);
|
||||
Values values;
|
||||
values.insert(l1, landmark1);
|
||||
values.insert(l2, landmark2);
|
||||
values.insert(x1, poseA1);
|
||||
values.insert(x2, poseA2);
|
||||
|
||||
// Check reconstruction from same ordering
|
||||
GaussianFactor::shared_ptr actLinearizationA = actFactor1.linearize(values, initOrdering);
|
||||
EXPECT(assert_equal(*expLinFactor1.clone(), *actLinearizationA, tol));
|
||||
|
||||
// Check reconstruction from new ordering
|
||||
Ordering newOrdering; newOrdering += x1, l1, x2, l2;
|
||||
GaussianFactor::shared_ptr actLinearizationB = actFactor1.linearize(values, newOrdering);
|
||||
|
||||
JacobianFactor expLinFactor2(
|
||||
newOrdering[l1],
|
||||
Matrix_(2,2,
|
||||
2.74222, -0.0067457,
|
||||
0.0, 2.63624),
|
||||
newOrdering[l2],
|
||||
Matrix_(2,2,
|
||||
-0.0455167, -0.0443573,
|
||||
-0.0222154, -0.102489),
|
||||
Vector_(2, 0.0277052,
|
||||
-0.0533393),
|
||||
diag_model2);
|
||||
|
||||
EXPECT(assert_equal(*expLinFactor2.clone(), *actLinearizationB, tol));
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( testLinearContainerFactor, generic_hessian_factor ) {
|
||||
Matrix G11 = Matrix_(1,1, 1.0);
|
||||
Matrix G12 = Matrix_(1,2, 2.0, 4.0);
|
||||
Matrix G13 = Matrix_(1,3, 3.0, 6.0, 9.0);
|
||||
|
||||
Matrix G22 = Matrix_(2,2, 3.0, 5.0, 0.0, 6.0);
|
||||
Matrix G23 = Matrix_(2,3, 4.0, 6.0, 8.0, 1.0, 2.0, 4.0);
|
||||
|
||||
Matrix G33 = Matrix_(3,3, 1.0, 2.0, 3.0, 0.0, 5.0, 6.0, 0.0, 0.0, 9.0);
|
||||
|
||||
Vector g1 = Vector_(1, -7.0);
|
||||
Vector g2 = Vector_(2, -8.0, -9.0);
|
||||
Vector g3 = Vector_(3, 1.0, 2.0, 3.0);
|
||||
|
||||
double f = 10.0;
|
||||
|
||||
Ordering initOrdering; initOrdering += x1, x2, l1, l2;
|
||||
HessianFactor initFactor(initOrdering[x1], initOrdering[x2], initOrdering[l1],
|
||||
G11, G12, G13, g1, G22, G23, g2, G33, g3, f);
|
||||
|
||||
Values values;
|
||||
values.insert(l1, landmark1);
|
||||
values.insert(l2, landmark2);
|
||||
values.insert(x1, poseA1);
|
||||
values.insert(x2, poseA2);
|
||||
|
||||
LinearContainerFactor actFactor(initFactor, initOrdering);
|
||||
GaussianFactor::shared_ptr actLinearization1 = actFactor.linearize(values, initOrdering);
|
||||
EXPECT(assert_equal(*initFactor.clone(), *actLinearization1, tol));
|
||||
|
||||
Ordering newOrdering; newOrdering += l1, x1, x2, l2;
|
||||
HessianFactor expLinFactor(newOrdering[x1], newOrdering[x2], newOrdering[l1],
|
||||
G11, G12, G13, g1, G22, G23, g2, G33, g3, f);
|
||||
GaussianFactor::shared_ptr actLinearization2 = actFactor.linearize(values, newOrdering);
|
||||
EXPECT(assert_equal(*expLinFactor.clone(), *actLinearization2, tol));
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
int main() { TestResult tr; return TestRegistry::runAllTests(tr); }
|
||||
/* ************************************************************************* */
|
||||
|
|
@ -431,7 +431,7 @@ bool isam_check(const planarSLAM::Graph& fullgraph, const Values& fullinit, cons
|
|||
bool totalGradOk = assert_equal(expectedGradient, actualGradient);
|
||||
EXPECT(totalGradOk);
|
||||
|
||||
return nodeGradientsOk && expectedGradOk && totalGradOk;
|
||||
return nodeGradientsOk && expectedGradOk && totalGradOk && isamEqual;
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
|
|
|||
|
|
@ -18,7 +18,9 @@
|
|||
#include <vector>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <cstdint>
|
||||
//#include <cstdint> // on Linux GCC: fails with error regarding needing C++0x std flags
|
||||
//#include <cinttypes> // same failure as above
|
||||
#include <stdint.h> // works on Linux GCC
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/lexical_cast.hpp>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ struct Class {
|
|||
typedef std::map<std::string, StaticMethod> StaticMethods;
|
||||
|
||||
/// Constructor creates an empty class
|
||||
Class(bool verbose=true) : verbose_(verbose), isVirtual(false) {}
|
||||
Class(bool verbose=true) : isVirtual(false), verbose_(verbose) {}
|
||||
|
||||
// Then the instance variables are set directly by the Module constructor
|
||||
std::string name; ///< Class name
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ struct Method {
|
|||
|
||||
/// Constructor creates empty object
|
||||
Method(bool verbose = true) :
|
||||
verbose_(verbose) {}
|
||||
verbose_(verbose), is_const_(false) {}
|
||||
|
||||
// Then the instance variables are set directly by the Module constructor
|
||||
bool verbose_;
|
||||
|
|
|
|||
|
|
@ -359,9 +359,29 @@ void Module::matlab_code(const string& toolboxPath, const string& headerPath) co
|
|||
BOOST_FOREACH(const Class& cls, classes) {
|
||||
if(!typeAttributes.insert(make_pair(cls.qualifiedName("::"), ReturnValue::TypeAttributes(cls.isVirtual))).second)
|
||||
throw DuplicateDefinition("class " + cls.qualifiedName("::"));
|
||||
|
||||
// Check that class is virtual if it has a parent
|
||||
}
|
||||
// Check attributes
|
||||
BOOST_FOREACH(const Class& cls, classes) {
|
||||
// Check that class is virtual if it has a parent
|
||||
if(!cls.qualifiedParent.empty() && !cls.isVirtual)
|
||||
throw AttributeError(cls.qualifiedName("::"), "Has a base class so needs to be declared virtual, change to 'virtual class "+cls.name+" ...'");
|
||||
// Check that parent is virtual as well
|
||||
if(!cls.qualifiedParent.empty() && !typeAttributes.at(wrap::qualifiedName("::", cls.qualifiedParent)).isVirtual)
|
||||
throw AttributeError(wrap::qualifiedName("::", cls.qualifiedParent),
|
||||
"Is the base class of " + cls.qualifiedName("::") + ", so needs to be declared virtual");
|
||||
}
|
||||
|
||||
// Check that all classes have been defined somewhere
|
||||
BOOST_FOREACH(const Class& cls, classes) {
|
||||
// verify all of the function arguments
|
||||
//TODO:verifyArguments<ArgumentList>(validTypes, cls.constructor.args_list);
|
||||
verifyArguments<StaticMethod>(validTypes, cls.static_methods);
|
||||
verifyArguments<Method>(validTypes, cls.methods);
|
||||
|
||||
// verify function return types
|
||||
verifyReturnTypes<StaticMethod>(validTypes, cls.static_methods);
|
||||
verifyReturnTypes<Method>(validTypes, cls.methods);
|
||||
}
|
||||
|
||||
// Generate all includes
|
||||
BOOST_FOREACH(const Class& cls, classes) {
|
||||
|
|
@ -379,7 +399,7 @@ void Module::matlab_code(const string& toolboxPath, const string& headerPath) co
|
|||
}
|
||||
|
||||
// generate mexAtExit cleanup function
|
||||
wrapperFile.oss << "void _deleteAllObjects()\n";
|
||||
wrapperFile.oss << "\nvoid _deleteAllObjects()\n";
|
||||
wrapperFile.oss << "{\n";
|
||||
BOOST_FOREACH(const Class& cls, classes) {
|
||||
const string matlabName = cls.qualifiedName();
|
||||
|
|
@ -394,23 +414,14 @@ void Module::matlab_code(const string& toolboxPath, const string& headerPath) co
|
|||
}
|
||||
wrapperFile.oss << "}\n";
|
||||
|
||||
// generate proxy classes and wrappers
|
||||
// create proxy class and wrapper code
|
||||
BOOST_FOREACH(const Class& cls, classes) {
|
||||
// create proxy class and wrapper code
|
||||
string classFile = toolboxPath + "/" + cls.qualifiedName() + ".m";
|
||||
cls.matlab_proxy(classFile, wrapperName, typeAttributes, wrapperFile, functionNames);
|
||||
|
||||
// verify all of the function arguments
|
||||
//TODO:verifyArguments<ArgumentList>(validTypes, cls.constructor.args_list);
|
||||
verifyArguments<StaticMethod>(validTypes, cls.static_methods);
|
||||
verifyArguments<Method>(validTypes, cls.methods);
|
||||
|
||||
// verify function return types
|
||||
verifyReturnTypes<StaticMethod>(validTypes, cls.static_methods);
|
||||
verifyReturnTypes<Method>(validTypes, cls.methods);
|
||||
}
|
||||
|
||||
// finish wrapper file
|
||||
wrapperFile.oss << "\n";
|
||||
finish_wrapper(wrapperFile, functionNames);
|
||||
|
||||
wrapperFile.emit(true);
|
||||
|
|
|
|||
|
|
@ -1,81 +1,82 @@
|
|||
% automatically generated by wrap
|
||||
classdef Point2 < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_Point2 = 0
|
||||
end
|
||||
methods
|
||||
function obj = Point2(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
geometry_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
geometry_wrapper(0, my_ptr);
|
||||
elseif nargin == 0
|
||||
obj.self = geometry_wrapper(1);
|
||||
my_ptr = geometry_wrapper(1);
|
||||
elseif nargin == 2 && isa(varargin{1},'double') && isa(varargin{2},'double')
|
||||
obj.self = geometry_wrapper(2,varargin{1},varargin{2});
|
||||
my_ptr = geometry_wrapper(2, varargin{1}, varargin{2});
|
||||
else
|
||||
error('Arguments do not match any overload of Point2 constructor');
|
||||
end
|
||||
obj.ptr_Point2 = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
geometry_wrapper(3, obj.self);
|
||||
geometry_wrapper(3, obj.ptr_Point2);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
||||
function disp(obj), obj.display; end
|
||||
|
||||
function varargout = argChar(self, varargin)
|
||||
function varargout = argChar(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'char')
|
||||
geometry_wrapper(4, self, varargin{:});
|
||||
geometry_wrapper(4, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Point2.argChar');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = argUChar(self, varargin)
|
||||
function varargout = argUChar(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'char')
|
||||
geometry_wrapper(5, self, varargin{:});
|
||||
geometry_wrapper(5, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Point2.argUChar');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = dim(self, varargin)
|
||||
function varargout = dim(this, varargin)
|
||||
if length(varargin) == 0
|
||||
varargout{1} = geometry_wrapper(6, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(6, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Point2.dim');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = returnChar(self, varargin)
|
||||
function varargout = returnChar(this, varargin)
|
||||
if length(varargin) == 0
|
||||
varargout{1} = geometry_wrapper(7, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(7, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Point2.returnChar');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = vectorConfusion(self, varargin)
|
||||
function varargout = vectorConfusion(this, varargin)
|
||||
if length(varargin) == 0
|
||||
varargout{1} = geometry_wrapper(8, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(8, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Point2.vectorConfusion');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = x(self, varargin)
|
||||
function varargout = x(this, varargin)
|
||||
if length(varargin) == 0
|
||||
varargout{1} = geometry_wrapper(9, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(9, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Point2.x');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = y(self, varargin)
|
||||
function varargout = y(this, varargin)
|
||||
if length(varargin) == 0
|
||||
varargout{1} = geometry_wrapper(10, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(10, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Point2.y');
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,31 +1,32 @@
|
|||
% automatically generated by wrap
|
||||
classdef Point3 < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_Point3 = 0
|
||||
end
|
||||
methods
|
||||
function obj = Point3(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
geometry_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
geometry_wrapper(11, my_ptr);
|
||||
elseif nargin == 3 && isa(varargin{1},'double') && isa(varargin{2},'double') && isa(varargin{3},'double')
|
||||
obj.self = geometry_wrapper(12,varargin{1},varargin{2},varargin{3});
|
||||
my_ptr = geometry_wrapper(12, varargin{1}, varargin{2}, varargin{3});
|
||||
else
|
||||
error('Arguments do not match any overload of Point3 constructor');
|
||||
end
|
||||
obj.ptr_Point3 = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
geometry_wrapper(13, obj.self);
|
||||
geometry_wrapper(13, obj.ptr_Point3);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
||||
function disp(obj), obj.display; end
|
||||
|
||||
function varargout = norm(self, varargin)
|
||||
function varargout = norm(this, varargin)
|
||||
if length(varargin) == 0
|
||||
varargout{1} = geometry_wrapper(14, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(14, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Point3.norm');
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,177 +1,178 @@
|
|||
% automatically generated by wrap
|
||||
classdef Test < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_Test = 0
|
||||
end
|
||||
methods
|
||||
function obj = Test(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
geometry_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
geometry_wrapper(17, my_ptr);
|
||||
elseif nargin == 0
|
||||
obj.self = geometry_wrapper(18);
|
||||
my_ptr = geometry_wrapper(18);
|
||||
elseif nargin == 2 && isa(varargin{1},'double') && isa(varargin{2},'double')
|
||||
obj.self = geometry_wrapper(19,varargin{1},varargin{2});
|
||||
my_ptr = geometry_wrapper(19, varargin{1}, varargin{2});
|
||||
else
|
||||
error('Arguments do not match any overload of Test constructor');
|
||||
end
|
||||
obj.ptr_Test = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
geometry_wrapper(20, obj.self);
|
||||
geometry_wrapper(20, obj.ptr_Test);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
||||
function disp(obj), obj.display; end
|
||||
|
||||
function varargout = arg_EigenConstRef(self, varargin)
|
||||
function varargout = arg_EigenConstRef(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'double')
|
||||
geometry_wrapper(21, self, varargin{:});
|
||||
geometry_wrapper(21, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.arg_EigenConstRef');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = create_MixedPtrs(self, varargin)
|
||||
function varargout = create_MixedPtrs(this, varargin)
|
||||
if length(varargin) == 0
|
||||
[ varargout{1} varargout{2} ] = geometry_wrapper(22, self, varargin{:});
|
||||
[ varargout{1} varargout{2} ] = geometry_wrapper(22, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.create_MixedPtrs');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = create_ptrs(self, varargin)
|
||||
function varargout = create_ptrs(this, varargin)
|
||||
if length(varargin) == 0
|
||||
[ varargout{1} varargout{2} ] = geometry_wrapper(23, self, varargin{:});
|
||||
[ varargout{1} varargout{2} ] = geometry_wrapper(23, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.create_ptrs');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = print(self, varargin)
|
||||
function varargout = print(this, varargin)
|
||||
if length(varargin) == 0
|
||||
geometry_wrapper(24, self, varargin{:});
|
||||
geometry_wrapper(24, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.print');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_Point2Ptr(self, varargin)
|
||||
function varargout = return_Point2Ptr(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'logical')
|
||||
varargout{1} = geometry_wrapper(25, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(25, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_Point2Ptr');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_Test(self, varargin)
|
||||
function varargout = return_Test(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'Test')
|
||||
varargout{1} = geometry_wrapper(26, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(26, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_Test');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_TestPtr(self, varargin)
|
||||
function varargout = return_TestPtr(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'Test')
|
||||
varargout{1} = geometry_wrapper(27, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(27, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_TestPtr');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_bool(self, varargin)
|
||||
function varargout = return_bool(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'logical')
|
||||
varargout{1} = geometry_wrapper(28, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(28, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_bool');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_double(self, varargin)
|
||||
function varargout = return_double(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'double')
|
||||
varargout{1} = geometry_wrapper(29, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(29, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_double');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_field(self, varargin)
|
||||
function varargout = return_field(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'Test')
|
||||
varargout{1} = geometry_wrapper(30, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(30, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_field');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_int(self, varargin)
|
||||
function varargout = return_int(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'numeric')
|
||||
varargout{1} = geometry_wrapper(31, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(31, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_int');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_matrix1(self, varargin)
|
||||
function varargout = return_matrix1(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'double')
|
||||
varargout{1} = geometry_wrapper(32, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(32, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_matrix1');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_matrix2(self, varargin)
|
||||
function varargout = return_matrix2(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'double')
|
||||
varargout{1} = geometry_wrapper(33, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(33, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_matrix2');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_pair(self, varargin)
|
||||
function varargout = return_pair(this, varargin)
|
||||
if length(varargin) == 2 && isa(varargin{1},'double') && isa(varargin{2},'double')
|
||||
[ varargout{1} varargout{2} ] = geometry_wrapper(34, self, varargin{:});
|
||||
[ varargout{1} varargout{2} ] = geometry_wrapper(34, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_pair');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_ptrs(self, varargin)
|
||||
function varargout = return_ptrs(this, varargin)
|
||||
if length(varargin) == 2 && isa(varargin{1},'Test') && isa(varargin{2},'Test')
|
||||
[ varargout{1} varargout{2} ] = geometry_wrapper(35, self, varargin{:});
|
||||
[ varargout{1} varargout{2} ] = geometry_wrapper(35, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_ptrs');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_size_t(self, varargin)
|
||||
function varargout = return_size_t(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'numeric')
|
||||
varargout{1} = geometry_wrapper(36, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(36, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_size_t');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_string(self, varargin)
|
||||
function varargout = return_string(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'char')
|
||||
varargout{1} = geometry_wrapper(37, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(37, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_string');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_vector1(self, varargin)
|
||||
function varargout = return_vector1(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'double')
|
||||
varargout{1} = geometry_wrapper(38, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(38, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_vector1');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = return_vector2(self, varargin)
|
||||
function varargout = return_vector2(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'double')
|
||||
varargout{1} = geometry_wrapper(39, self, varargin{:});
|
||||
varargout{1} = geometry_wrapper(39, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function Test.return_vector2');
|
||||
end
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ void _deleteAllObjects()
|
|||
collector_Test.erase(iter++);
|
||||
}
|
||||
}
|
||||
void Point2_constructor_0(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void Point2_collectorInsertAndMakeBase_0(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
typedef boost::shared_ptr<Point2> Shared;
|
||||
|
|
@ -80,7 +80,7 @@ void Point2_argChar_4(int nargout, mxArray *out[], int nargin, const mxArray *in
|
|||
{
|
||||
typedef boost::shared_ptr<Point2> Shared;
|
||||
checkArguments("argChar",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "Point2");
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "ptr_Point2");
|
||||
char a = unwrap< char >(in[1]);
|
||||
obj->argChar(a);
|
||||
}
|
||||
|
|
@ -89,7 +89,7 @@ void Point2_argUChar_5(int nargout, mxArray *out[], int nargin, const mxArray *i
|
|||
{
|
||||
typedef boost::shared_ptr<Point2> Shared;
|
||||
checkArguments("argUChar",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "Point2");
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "ptr_Point2");
|
||||
unsigned char a = unwrap< unsigned char >(in[1]);
|
||||
obj->argUChar(a);
|
||||
}
|
||||
|
|
@ -98,18 +98,16 @@ void Point2_dim_6(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
{
|
||||
typedef boost::shared_ptr<Point2> Shared;
|
||||
checkArguments("dim",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "Point2");
|
||||
int result = obj->dim();
|
||||
out[0] = wrap< int >(result);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "ptr_Point2");
|
||||
out[0] = wrap< int >(obj->dim());
|
||||
}
|
||||
|
||||
void Point2_returnChar_7(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
typedef boost::shared_ptr<Point2> Shared;
|
||||
checkArguments("returnChar",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "Point2");
|
||||
char result = obj->returnChar();
|
||||
out[0] = wrap< char >(result);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "ptr_Point2");
|
||||
out[0] = wrap< char >(obj->returnChar());
|
||||
}
|
||||
|
||||
void Point2_vectorConfusion_8(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -117,9 +115,8 @@ void Point2_vectorConfusion_8(int nargout, mxArray *out[], int nargin, const mxA
|
|||
typedef boost::shared_ptr<VectorNotEigen> SharedVectorNotEigen;
|
||||
typedef boost::shared_ptr<Point2> Shared;
|
||||
checkArguments("vectorConfusion",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "Point2");
|
||||
VectorNotEigen result = obj->vectorConfusion();
|
||||
SharedVectorNotEigen* ret = new SharedVectorNotEigen(new VectorNotEigen(result));
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "ptr_Point2");
|
||||
SharedVectorNotEigen* ret = new SharedVectorNotEigen(new VectorNotEigen(obj->vectorConfusion()));
|
||||
out[0] = wrap_shared_ptr(ret,"VectorNotEigen");
|
||||
}
|
||||
|
||||
|
|
@ -127,21 +124,19 @@ void Point2_x_9(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
{
|
||||
typedef boost::shared_ptr<Point2> Shared;
|
||||
checkArguments("x",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "Point2");
|
||||
double result = obj->x();
|
||||
out[0] = wrap< double >(result);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "ptr_Point2");
|
||||
out[0] = wrap< double >(obj->x());
|
||||
}
|
||||
|
||||
void Point2_y_10(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
typedef boost::shared_ptr<Point2> Shared;
|
||||
checkArguments("y",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "Point2");
|
||||
double result = obj->y();
|
||||
out[0] = wrap< double >(result);
|
||||
Shared obj = unwrap_shared_ptr<Point2>(in[0], "ptr_Point2");
|
||||
out[0] = wrap< double >(obj->y());
|
||||
}
|
||||
|
||||
void Point3_constructor_11(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void Point3_collectorInsertAndMakeBase_11(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
using namespace geometry;
|
||||
|
|
@ -184,9 +179,8 @@ void Point3_norm_14(int nargout, mxArray *out[], int nargin, const mxArray *in[]
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Point3> Shared;
|
||||
checkArguments("norm",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Point3>(in[0], "Point3");
|
||||
double result = obj->norm();
|
||||
out[0] = wrap< double >(result);
|
||||
Shared obj = unwrap_shared_ptr<Point3>(in[0], "ptr_Point3");
|
||||
out[0] = wrap< double >(obj->norm());
|
||||
}
|
||||
|
||||
void Point3_StaticFunctionRet_15(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -196,8 +190,7 @@ using namespace geometry;
|
|||
typedef boost::shared_ptr<Point3> Shared;
|
||||
checkArguments("Point3.StaticFunctionRet",nargout,nargin,1);
|
||||
double z = unwrap< double >(in[0]);
|
||||
Point3 result = Point3::StaticFunctionRet(z);
|
||||
SharedPoint3* ret = new SharedPoint3(new Point3(result));
|
||||
SharedPoint3* ret = new SharedPoint3(new Point3(Point3::StaticFunctionRet(z)));
|
||||
out[0] = wrap_shared_ptr(ret,"Point3");
|
||||
}
|
||||
|
||||
|
|
@ -206,11 +199,10 @@ void Point3_staticFunction_16(int nargout, mxArray *out[], int nargin, const mxA
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Point3> Shared;
|
||||
checkArguments("Point3.staticFunction",nargout,nargin,0);
|
||||
double result = Point3::staticFunction();
|
||||
out[0] = wrap< double >(result);
|
||||
out[0] = wrap< double >(Point3::staticFunction());
|
||||
}
|
||||
|
||||
void Test_constructor_17(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void Test_collectorInsertAndMakeBase_17(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
using namespace geometry;
|
||||
|
|
@ -264,8 +256,8 @@ void Test_arg_EigenConstRef_21(int nargout, mxArray *out[], int nargin, const mx
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("arg_EigenConstRef",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Matrix& value = *unwrap_shared_ptr< Matrix >(in[1], "Matrix");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
Matrix& value = *unwrap_shared_ptr< Matrix >(in[1], "ptr_Matrix");
|
||||
obj->arg_EigenConstRef(value);
|
||||
}
|
||||
|
||||
|
|
@ -276,11 +268,10 @@ using namespace geometry;
|
|||
typedef boost::shared_ptr<Test> SharedTest;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("create_MixedPtrs",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
pair< Test, SharedTest > result = obj->create_MixedPtrs();
|
||||
SharedTest* ret = new SharedTest(new Test(result.first));
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
SharedTest* ret = new SharedTest(new Test(obj->create_MixedPtrs().first));
|
||||
out[0] = wrap_shared_ptr(ret,"Test");
|
||||
SharedTest* ret = new SharedTest(result.second);
|
||||
SharedTest* ret = new SharedTest(obj->create_MixedPtrs().second);
|
||||
out[1] = wrap_shared_ptr(ret,"Test");
|
||||
}
|
||||
|
||||
|
|
@ -291,11 +282,10 @@ using namespace geometry;
|
|||
typedef boost::shared_ptr<Test> SharedTest;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("create_ptrs",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
pair< SharedTest, SharedTest > result = obj->create_ptrs();
|
||||
SharedTest* ret = new SharedTest(result.first);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
SharedTest* ret = new SharedTest(obj->create_ptrs().first);
|
||||
out[0] = wrap_shared_ptr(ret,"Test");
|
||||
SharedTest* ret = new SharedTest(result.second);
|
||||
SharedTest* ret = new SharedTest(obj->create_ptrs().second);
|
||||
out[1] = wrap_shared_ptr(ret,"Test");
|
||||
}
|
||||
|
||||
|
|
@ -304,7 +294,7 @@ void Test_print_24(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("print",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
obj->print();
|
||||
}
|
||||
|
||||
|
|
@ -314,10 +304,9 @@ using namespace geometry;
|
|||
typedef boost::shared_ptr<Point2> SharedPoint2;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_Point2Ptr",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
bool value = unwrap< bool >(in[1]);
|
||||
SharedPoint2 result = obj->return_Point2Ptr(value);
|
||||
SharedPoint2* ret = new SharedPoint2(result);
|
||||
SharedPoint2* ret = new SharedPoint2(obj->return_Point2Ptr(value));
|
||||
out[0] = wrap_shared_ptr(ret,"Point2");
|
||||
}
|
||||
|
||||
|
|
@ -327,10 +316,9 @@ using namespace geometry;
|
|||
typedef boost::shared_ptr<Test> SharedTest;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_Test",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
boost::shared_ptr<Test> value = unwrap_shared_ptr< Test >(in[1], "Test");
|
||||
Test result = obj->return_Test(value);
|
||||
SharedTest* ret = new SharedTest(new Test(result));
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
boost::shared_ptr<Test> value = unwrap_shared_ptr< Test >(in[1], "ptr_Test");
|
||||
SharedTest* ret = new SharedTest(new Test(obj->return_Test(value)));
|
||||
out[0] = wrap_shared_ptr(ret,"Test");
|
||||
}
|
||||
|
||||
|
|
@ -340,10 +328,9 @@ using namespace geometry;
|
|||
typedef boost::shared_ptr<Test> SharedTest;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_TestPtr",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
boost::shared_ptr<Test> value = unwrap_shared_ptr< Test >(in[1], "Test");
|
||||
SharedTest result = obj->return_TestPtr(value);
|
||||
SharedTest* ret = new SharedTest(result);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
boost::shared_ptr<Test> value = unwrap_shared_ptr< Test >(in[1], "ptr_Test");
|
||||
SharedTest* ret = new SharedTest(obj->return_TestPtr(value));
|
||||
out[0] = wrap_shared_ptr(ret,"Test");
|
||||
}
|
||||
|
||||
|
|
@ -352,10 +339,9 @@ void Test_return_bool_28(int nargout, mxArray *out[], int nargin, const mxArray
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_bool",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
bool value = unwrap< bool >(in[1]);
|
||||
bool result = obj->return_bool(value);
|
||||
out[0] = wrap< bool >(result);
|
||||
out[0] = wrap< bool >(obj->return_bool(value));
|
||||
}
|
||||
|
||||
void Test_return_double_29(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -363,10 +349,9 @@ void Test_return_double_29(int nargout, mxArray *out[], int nargin, const mxArra
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_double",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
double value = unwrap< double >(in[1]);
|
||||
double result = obj->return_double(value);
|
||||
out[0] = wrap< double >(result);
|
||||
out[0] = wrap< double >(obj->return_double(value));
|
||||
}
|
||||
|
||||
void Test_return_field_30(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -374,10 +359,9 @@ void Test_return_field_30(int nargout, mxArray *out[], int nargin, const mxArray
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_field",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Test& t = *unwrap_shared_ptr< Test >(in[1], "Test");
|
||||
bool result = obj->return_field(t);
|
||||
out[0] = wrap< bool >(result);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
Test& t = *unwrap_shared_ptr< Test >(in[1], "ptr_Test");
|
||||
out[0] = wrap< bool >(obj->return_field(t));
|
||||
}
|
||||
|
||||
void Test_return_int_31(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -385,10 +369,9 @@ void Test_return_int_31(int nargout, mxArray *out[], int nargin, const mxArray *
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_int",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
int value = unwrap< int >(in[1]);
|
||||
int result = obj->return_int(value);
|
||||
out[0] = wrap< int >(result);
|
||||
out[0] = wrap< int >(obj->return_int(value));
|
||||
}
|
||||
|
||||
void Test_return_matrix1_32(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -396,10 +379,9 @@ void Test_return_matrix1_32(int nargout, mxArray *out[], int nargin, const mxArr
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_matrix1",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
Matrix value = unwrap< Matrix >(in[1]);
|
||||
Matrix result = obj->return_matrix1(value);
|
||||
out[0] = wrap< Matrix >(result);
|
||||
out[0] = wrap< Matrix >(obj->return_matrix1(value));
|
||||
}
|
||||
|
||||
void Test_return_matrix2_33(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -407,10 +389,9 @@ void Test_return_matrix2_33(int nargout, mxArray *out[], int nargin, const mxArr
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_matrix2",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
Matrix value = unwrap< Matrix >(in[1]);
|
||||
Matrix result = obj->return_matrix2(value);
|
||||
out[0] = wrap< Matrix >(result);
|
||||
out[0] = wrap< Matrix >(obj->return_matrix2(value));
|
||||
}
|
||||
|
||||
void Test_return_pair_34(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -418,12 +399,11 @@ void Test_return_pair_34(int nargout, mxArray *out[], int nargin, const mxArray
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_pair",nargout,nargin-1,2);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
Vector v = unwrap< Vector >(in[1]);
|
||||
Matrix A = unwrap< Matrix >(in[2]);
|
||||
pair< Vector, Matrix > result = obj->return_pair(v,A);
|
||||
out[0] = wrap< Vector >(result.first);
|
||||
out[1] = wrap< Matrix >(result.second);
|
||||
out[0] = wrap< Vector >(obj->return_pair(v,A).first);
|
||||
out[1] = wrap< Matrix >(obj->return_pair(v,A).second);
|
||||
}
|
||||
|
||||
void Test_return_ptrs_35(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -433,13 +413,12 @@ using namespace geometry;
|
|||
typedef boost::shared_ptr<Test> SharedTest;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_ptrs",nargout,nargin-1,2);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
boost::shared_ptr<Test> p1 = unwrap_shared_ptr< Test >(in[1], "Test");
|
||||
boost::shared_ptr<Test> p2 = unwrap_shared_ptr< Test >(in[2], "Test");
|
||||
pair< SharedTest, SharedTest > result = obj->return_ptrs(p1,p2);
|
||||
SharedTest* ret = new SharedTest(result.first);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
boost::shared_ptr<Test> p1 = unwrap_shared_ptr< Test >(in[1], "ptr_Test");
|
||||
boost::shared_ptr<Test> p2 = unwrap_shared_ptr< Test >(in[2], "ptr_Test");
|
||||
SharedTest* ret = new SharedTest(obj->return_ptrs(p1,p2).first);
|
||||
out[0] = wrap_shared_ptr(ret,"Test");
|
||||
SharedTest* ret = new SharedTest(result.second);
|
||||
SharedTest* ret = new SharedTest(obj->return_ptrs(p1,p2).second);
|
||||
out[1] = wrap_shared_ptr(ret,"Test");
|
||||
}
|
||||
|
||||
|
|
@ -448,10 +427,9 @@ void Test_return_size_t_36(int nargout, mxArray *out[], int nargin, const mxArra
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_size_t",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
size_t value = unwrap< size_t >(in[1]);
|
||||
size_t result = obj->return_size_t(value);
|
||||
out[0] = wrap< size_t >(result);
|
||||
out[0] = wrap< size_t >(obj->return_size_t(value));
|
||||
}
|
||||
|
||||
void Test_return_string_37(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -459,10 +437,9 @@ void Test_return_string_37(int nargout, mxArray *out[], int nargin, const mxArra
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_string",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
string value = unwrap< string >(in[1]);
|
||||
string result = obj->return_string(value);
|
||||
out[0] = wrap< string >(result);
|
||||
out[0] = wrap< string >(obj->return_string(value));
|
||||
}
|
||||
|
||||
void Test_return_vector1_38(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -470,10 +447,9 @@ void Test_return_vector1_38(int nargout, mxArray *out[], int nargin, const mxArr
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_vector1",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
Vector value = unwrap< Vector >(in[1]);
|
||||
Vector result = obj->return_vector1(value);
|
||||
out[0] = wrap< Vector >(result);
|
||||
out[0] = wrap< Vector >(obj->return_vector1(value));
|
||||
}
|
||||
|
||||
void Test_return_vector2_39(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -481,10 +457,9 @@ void Test_return_vector2_39(int nargout, mxArray *out[], int nargin, const mxArr
|
|||
using namespace geometry;
|
||||
typedef boost::shared_ptr<Test> Shared;
|
||||
checkArguments("return_vector2",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "Test");
|
||||
Shared obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
|
||||
Vector value = unwrap< Vector >(in[1]);
|
||||
Vector result = obj->return_vector2(value);
|
||||
out[0] = wrap< Vector >(result);
|
||||
out[0] = wrap< Vector >(obj->return_vector2(value));
|
||||
}
|
||||
|
||||
void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -496,7 +471,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
|
||||
switch(id) {
|
||||
case 0:
|
||||
Point2_constructor_0(nargout, out, nargin-1, in+1);
|
||||
Point2_collectorInsertAndMakeBase_0(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 1:
|
||||
Point2_constructor_1(nargout, out, nargin-1, in+1);
|
||||
|
|
@ -529,7 +504,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
Point2_y_10(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 11:
|
||||
Point3_constructor_11(nargout, out, nargin-1, in+1);
|
||||
Point3_collectorInsertAndMakeBase_11(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 12:
|
||||
Point3_constructor_12(nargout, out, nargin-1, in+1);
|
||||
|
|
@ -547,7 +522,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
Point3_staticFunction_16(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 17:
|
||||
Test_constructor_17(nargout, out, nargin-1, in+1);
|
||||
Test_collectorInsertAndMakeBase_17(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 18:
|
||||
Test_constructor_18(nargout, out, nargin-1, in+1);
|
||||
|
|
|
|||
|
|
@ -1,22 +1,23 @@
|
|||
% automatically generated by wrap
|
||||
classdef ClassD < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_ClassD = 0
|
||||
end
|
||||
methods
|
||||
function obj = ClassD(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
testNamespaces_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
testNamespaces_wrapper(19, my_ptr);
|
||||
elseif nargin == 0
|
||||
obj.self = testNamespaces_wrapper(20);
|
||||
my_ptr = testNamespaces_wrapper(20);
|
||||
else
|
||||
error('Arguments do not match any overload of ClassD constructor');
|
||||
end
|
||||
obj.ptr_ClassD = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
testNamespaces_wrapper(21, obj.self);
|
||||
testNamespaces_wrapper(21, obj.ptr_ClassD);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
|
|
|||
|
|
@ -1,22 +1,23 @@
|
|||
% automatically generated by wrap
|
||||
classdef ns1ClassA < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_ns1ClassA = 0
|
||||
end
|
||||
methods
|
||||
function obj = ns1ClassA(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
testNamespaces_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
testNamespaces_wrapper(0, my_ptr);
|
||||
elseif nargin == 0
|
||||
obj.self = testNamespaces_wrapper(1);
|
||||
my_ptr = testNamespaces_wrapper(1);
|
||||
else
|
||||
error('Arguments do not match any overload of ns1ClassA constructor');
|
||||
end
|
||||
obj.ptr_ns1ClassA = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
testNamespaces_wrapper(2, obj.self);
|
||||
testNamespaces_wrapper(2, obj.ptr_ns1ClassA);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
|
|
|||
|
|
@ -1,22 +1,23 @@
|
|||
% automatically generated by wrap
|
||||
classdef ns1ClassB < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_ns1ClassB = 0
|
||||
end
|
||||
methods
|
||||
function obj = ns1ClassB(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
testNamespaces_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
testNamespaces_wrapper(3, my_ptr);
|
||||
elseif nargin == 0
|
||||
obj.self = testNamespaces_wrapper(4);
|
||||
my_ptr = testNamespaces_wrapper(4);
|
||||
else
|
||||
error('Arguments do not match any overload of ns1ClassB constructor');
|
||||
end
|
||||
obj.ptr_ns1ClassB = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
testNamespaces_wrapper(5, obj.self);
|
||||
testNamespaces_wrapper(5, obj.ptr_ns1ClassB);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
|
|
|||
|
|
@ -1,47 +1,48 @@
|
|||
% automatically generated by wrap
|
||||
classdef ns2ClassA < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_ns2ClassA = 0
|
||||
end
|
||||
methods
|
||||
function obj = ns2ClassA(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
testNamespaces_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
testNamespaces_wrapper(6, my_ptr);
|
||||
elseif nargin == 0
|
||||
obj.self = testNamespaces_wrapper(7);
|
||||
my_ptr = testNamespaces_wrapper(7);
|
||||
else
|
||||
error('Arguments do not match any overload of ns2ClassA constructor');
|
||||
end
|
||||
obj.ptr_ns2ClassA = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
testNamespaces_wrapper(8, obj.self);
|
||||
testNamespaces_wrapper(8, obj.ptr_ns2ClassA);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
||||
function disp(obj), obj.display; end
|
||||
|
||||
function varargout = memberFunction(self, varargin)
|
||||
function varargout = memberFunction(this, varargin)
|
||||
if length(varargin) == 0
|
||||
varargout{1} = testNamespaces_wrapper(9, self, varargin{:});
|
||||
varargout{1} = testNamespaces_wrapper(9, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function ns2ClassA.memberFunction');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = nsArg(self, varargin)
|
||||
function varargout = nsArg(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'ns1ClassB')
|
||||
varargout{1} = testNamespaces_wrapper(10, self, varargin{:});
|
||||
varargout{1} = testNamespaces_wrapper(10, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function ns2ClassA.nsArg');
|
||||
end
|
||||
end
|
||||
|
||||
function varargout = nsReturn(self, varargin)
|
||||
function varargout = nsReturn(this, varargin)
|
||||
if length(varargin) == 1 && isa(varargin{1},'double')
|
||||
varargout{1} = testNamespaces_wrapper(11, self, varargin{:});
|
||||
varargout{1} = testNamespaces_wrapper(11, this, varargin{:});
|
||||
else
|
||||
error('Arguments do not match any overload of function ns2ClassA.nsReturn');
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,22 +1,23 @@
|
|||
% automatically generated by wrap
|
||||
classdef ns2ClassC < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_ns2ClassC = 0
|
||||
end
|
||||
methods
|
||||
function obj = ns2ClassC(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
testNamespaces_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
testNamespaces_wrapper(16, my_ptr);
|
||||
elseif nargin == 0
|
||||
obj.self = testNamespaces_wrapper(17);
|
||||
my_ptr = testNamespaces_wrapper(17);
|
||||
else
|
||||
error('Arguments do not match any overload of ns2ClassC constructor');
|
||||
end
|
||||
obj.ptr_ns2ClassC = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
testNamespaces_wrapper(18, obj.self);
|
||||
testNamespaces_wrapper(18, obj.ptr_ns2ClassC);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
|
|
|||
|
|
@ -1,22 +1,23 @@
|
|||
% automatically generated by wrap
|
||||
classdef ns2ns3ClassB < handle
|
||||
properties
|
||||
self = 0
|
||||
ptr_ns2ns3ClassB = 0
|
||||
end
|
||||
methods
|
||||
function obj = ns2ns3ClassB(varargin)
|
||||
if nargin == 2 && isa(varargin{1}, 'uint64') && varargin{1} == uint64(5139824614673773682)
|
||||
obj.self = varargin{2};
|
||||
testNamespaces_wrapper(obj.self);
|
||||
my_ptr = varargin{2};
|
||||
testNamespaces_wrapper(13, my_ptr);
|
||||
elseif nargin == 0
|
||||
obj.self = testNamespaces_wrapper(14);
|
||||
my_ptr = testNamespaces_wrapper(14);
|
||||
else
|
||||
error('Arguments do not match any overload of ns2ns3ClassB constructor');
|
||||
end
|
||||
obj.ptr_ns2ns3ClassB = my_ptr;
|
||||
end
|
||||
|
||||
function delete(obj)
|
||||
testNamespaces_wrapper(15, obj.self);
|
||||
testNamespaces_wrapper(15, obj.ptr_ns2ns3ClassB);
|
||||
end
|
||||
|
||||
function display(obj), obj.print(''); end
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ void _deleteAllObjects()
|
|||
collector_ClassD.erase(iter++);
|
||||
}
|
||||
}
|
||||
void ns1ClassA_constructor_0(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void ns1ClassA_collectorInsertAndMakeBase_0(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
typedef boost::shared_ptr<ns1::ClassA> Shared;
|
||||
|
|
@ -90,7 +90,7 @@ void ns1ClassA_deconstructor_2(int nargout, mxArray *out[], int nargin, const mx
|
|||
}
|
||||
}
|
||||
|
||||
void ns1ClassB_constructor_3(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void ns1ClassB_collectorInsertAndMakeBase_3(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
typedef boost::shared_ptr<ns1::ClassB> Shared;
|
||||
|
|
@ -122,7 +122,7 @@ void ns1ClassB_deconstructor_5(int nargout, mxArray *out[], int nargin, const mx
|
|||
}
|
||||
}
|
||||
|
||||
void ns2ClassA_constructor_6(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void ns2ClassA_collectorInsertAndMakeBase_6(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
typedef boost::shared_ptr<ns2::ClassA> Shared;
|
||||
|
|
@ -158,19 +158,17 @@ void ns2ClassA_memberFunction_9(int nargout, mxArray *out[], int nargin, const m
|
|||
{
|
||||
typedef boost::shared_ptr<ns2::ClassA> Shared;
|
||||
checkArguments("memberFunction",nargout,nargin-1,0);
|
||||
Shared obj = unwrap_shared_ptr<ns2::ClassA>(in[0], "ns2::ClassA");
|
||||
double result = obj->memberFunction();
|
||||
out[0] = wrap< double >(result);
|
||||
Shared obj = unwrap_shared_ptr<ns2::ClassA>(in[0], "ptr_ns2ClassA");
|
||||
out[0] = wrap< double >(obj->memberFunction());
|
||||
}
|
||||
|
||||
void ns2ClassA_nsArg_10(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
typedef boost::shared_ptr<ns2::ClassA> Shared;
|
||||
checkArguments("nsArg",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<ns2::ClassA>(in[0], "ns2::ClassA");
|
||||
ns1::ClassB& arg = *unwrap_shared_ptr< ns1::ClassB >(in[1], "ns1ClassB");
|
||||
int result = obj->nsArg(arg);
|
||||
out[0] = wrap< int >(result);
|
||||
Shared obj = unwrap_shared_ptr<ns2::ClassA>(in[0], "ptr_ns2ClassA");
|
||||
ns1::ClassB& arg = *unwrap_shared_ptr< ns1::ClassB >(in[1], "ptr_ns1ClassB");
|
||||
out[0] = wrap< int >(obj->nsArg(arg));
|
||||
}
|
||||
|
||||
void ns2ClassA_nsReturn_11(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
|
|
@ -178,10 +176,9 @@ void ns2ClassA_nsReturn_11(int nargout, mxArray *out[], int nargin, const mxArra
|
|||
typedef boost::shared_ptr<ns2::ns3::ClassB> SharedClassB;
|
||||
typedef boost::shared_ptr<ns2::ClassA> Shared;
|
||||
checkArguments("nsReturn",nargout,nargin-1,1);
|
||||
Shared obj = unwrap_shared_ptr<ns2::ClassA>(in[0], "ns2::ClassA");
|
||||
Shared obj = unwrap_shared_ptr<ns2::ClassA>(in[0], "ptr_ns2ClassA");
|
||||
double q = unwrap< double >(in[1]);
|
||||
ns2::ns3::ClassB result = obj->nsReturn(q);
|
||||
SharedClassB* ret = new SharedClassB(new ns2::ns3::ClassB(result));
|
||||
SharedClassB* ret = new SharedClassB(new ns2::ns3::ClassB(obj->nsReturn(q)));
|
||||
out[0] = wrap_shared_ptr(ret,"ns2ns3ClassB");
|
||||
}
|
||||
|
||||
|
|
@ -189,11 +186,10 @@ void ns2ClassA_afunction_12(int nargout, mxArray *out[], int nargin, const mxArr
|
|||
{
|
||||
typedef boost::shared_ptr<ns2::ClassA> Shared;
|
||||
checkArguments("ns2ClassA.afunction",nargout,nargin,0);
|
||||
double result = ns2::ClassA::afunction();
|
||||
out[0] = wrap< double >(result);
|
||||
out[0] = wrap< double >(ns2::ClassA::afunction());
|
||||
}
|
||||
|
||||
void ns2ns3ClassB_constructor_13(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void ns2ns3ClassB_collectorInsertAndMakeBase_13(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
typedef boost::shared_ptr<ns2::ns3::ClassB> Shared;
|
||||
|
|
@ -225,7 +221,7 @@ void ns2ns3ClassB_deconstructor_15(int nargout, mxArray *out[], int nargin, cons
|
|||
}
|
||||
}
|
||||
|
||||
void ns2ClassC_constructor_16(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void ns2ClassC_collectorInsertAndMakeBase_16(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
typedef boost::shared_ptr<ns2::ClassC> Shared;
|
||||
|
|
@ -257,7 +253,7 @@ void ns2ClassC_deconstructor_18(int nargout, mxArray *out[], int nargin, const m
|
|||
}
|
||||
}
|
||||
|
||||
void ClassD_constructor_19(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
void ClassD_collectorInsertAndMakeBase_19(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
||||
{
|
||||
mexAtExit(&_deleteAllObjects);
|
||||
typedef boost::shared_ptr<ClassD> Shared;
|
||||
|
|
@ -298,7 +294,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
|
||||
switch(id) {
|
||||
case 0:
|
||||
ns1ClassA_constructor_0(nargout, out, nargin-1, in+1);
|
||||
ns1ClassA_collectorInsertAndMakeBase_0(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 1:
|
||||
ns1ClassA_constructor_1(nargout, out, nargin-1, in+1);
|
||||
|
|
@ -307,7 +303,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
ns1ClassA_deconstructor_2(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 3:
|
||||
ns1ClassB_constructor_3(nargout, out, nargin-1, in+1);
|
||||
ns1ClassB_collectorInsertAndMakeBase_3(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 4:
|
||||
ns1ClassB_constructor_4(nargout, out, nargin-1, in+1);
|
||||
|
|
@ -316,7 +312,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
ns1ClassB_deconstructor_5(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 6:
|
||||
ns2ClassA_constructor_6(nargout, out, nargin-1, in+1);
|
||||
ns2ClassA_collectorInsertAndMakeBase_6(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 7:
|
||||
ns2ClassA_constructor_7(nargout, out, nargin-1, in+1);
|
||||
|
|
@ -337,7 +333,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
ns2ClassA_afunction_12(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 13:
|
||||
ns2ns3ClassB_constructor_13(nargout, out, nargin-1, in+1);
|
||||
ns2ns3ClassB_collectorInsertAndMakeBase_13(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 14:
|
||||
ns2ns3ClassB_constructor_14(nargout, out, nargin-1, in+1);
|
||||
|
|
@ -346,7 +342,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
ns2ns3ClassB_deconstructor_15(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 16:
|
||||
ns2ClassC_constructor_16(nargout, out, nargin-1, in+1);
|
||||
ns2ClassC_collectorInsertAndMakeBase_16(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 17:
|
||||
ns2ClassC_constructor_17(nargout, out, nargin-1, in+1);
|
||||
|
|
@ -355,7 +351,7 @@ void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
|
|||
ns2ClassC_deconstructor_18(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 19:
|
||||
ClassD_constructor_19(nargout, out, nargin-1, in+1);
|
||||
ClassD_collectorInsertAndMakeBase_19(nargout, out, nargin-1, in+1);
|
||||
break;
|
||||
case 20:
|
||||
ClassD_constructor_20(nargout, out, nargin-1, in+1);
|
||||
|
|
|
|||
|
|
@ -1,24 +1,8 @@
|
|||
//Header file to test dependency checking
|
||||
//
|
||||
class Pose3 {
|
||||
Pose3();
|
||||
Pose3(const Rot3& r, const Point3& t);//What is Rot3? Throw here
|
||||
Pose3(Vector v);
|
||||
Pose3(Matrix t);
|
||||
static Pose3 Expmap(Vector v);
|
||||
static Vector Logmap(const Pose3& p);
|
||||
static Rot3 testStaticDep(Rot3& r);//What is Rot3? Throw here
|
||||
void print(string s) const;
|
||||
bool equals(const Pose3& pose, double tol) const;
|
||||
double x() const;
|
||||
double y() const;
|
||||
double z() const;
|
||||
Rot3 testReturnType() const; // Throw here
|
||||
Matrix matrix() const;
|
||||
Matrix adjointMap() const;
|
||||
Pose3 compose(const Pose3& p2);
|
||||
Pose3 between(const Pose3& p2);
|
||||
Pose3 retract(Vector v);
|
||||
Point3 translation() const;
|
||||
Rot3 rotation() const; //What is Rot3? Throw here
|
||||
Pose3(const Rot3& r, const Point3& t); //What is Rot3? Throw here
|
||||
static Rot3 testStaticDep(Rot3& r); //What is Rot3? Throw here
|
||||
Rot3 testReturnType() const; // Throw here
|
||||
void testMethodArg(const Rot3& r) const;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ TEST( wrap, ArgumentList ) {
|
|||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( wrap, check_exception ) {
|
||||
TEST_UNSAFE( wrap, check_exception ) {
|
||||
THROWS_EXCEPTION(Module("/notarealpath", "geometry",enable_verbose));
|
||||
CHECK_EXCEPTION(Module("/alsonotarealpath", "geometry",enable_verbose), CantOpenFile);
|
||||
|
||||
|
|
@ -80,8 +80,9 @@ TEST( wrap, parse ) {
|
|||
strvec exp_using1, exp_using2; exp_using2 += "geometry";
|
||||
|
||||
// forward declarations
|
||||
strvec exp_forward; exp_forward += "VectorNotEigen", "ns::OtherClass";
|
||||
EXPECT(assert_equal(exp_forward, module.forward_declarations));
|
||||
LONGS_EQUAL(2, module.forward_declarations.size());
|
||||
EXPECT(assert_equal("VectorNotEigen", module.forward_declarations[0].name));
|
||||
EXPECT(assert_equal("ns::OtherClass", module.forward_declarations[1].name));
|
||||
|
||||
// check first class, Point2
|
||||
{
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@
|
|||
#include <exception>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <cstdint>
|
||||
//#include <cstdint> // on Linux GCC: fails with error regarding needing C++0x std flags
|
||||
//#include <cinttypes> // same failure as above
|
||||
#include <stdint.h> // works on Linux GCC
|
||||
#include <string>
|
||||
#include <boost/format.hpp>
|
||||
|
||||
|
|
@ -67,6 +69,16 @@ public:
|
|||
virtual const char* what() const throw() { return what_.c_str(); }
|
||||
};
|
||||
|
||||
class AttributeError : public std::exception {
|
||||
private:
|
||||
const std::string what_;
|
||||
public:
|
||||
AttributeError(const std::string& name, const std::string& problem) :
|
||||
what_("Class " + name + ": " + problem) {}
|
||||
~AttributeError() throw() {}
|
||||
virtual const char* what() const throw() { return what_.c_str(); }
|
||||
};
|
||||
|
||||
/** Special "magic number" passed into MATLAB constructor to indicate creating
|
||||
* a MATLAB object from a shared_ptr allocated in C++
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue