| 
									
										
										
										
											2014-05-25 23:15:49 +08:00
										 |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
					
						
							|  |  |  | % GTSAM Copyright 2010, Georgia Tech Research Corporation, | 
					
						
							|  |  |  | % Atlanta, Georgia 30332-0415 | 
					
						
							|  |  |  | % All Rights Reserved | 
					
						
							|  |  |  | % Authors: Frank Dellaert, et al. (see THANKS for the full author list) | 
					
						
							|  |  |  | % | 
					
						
							|  |  |  | % See LICENSE for the license information | 
					
						
							|  |  |  | % | 
					
						
							|  |  |  | % @brief Checks for results of functions in utilities namespace | 
					
						
							|  |  |  | % @author Frank Dellaert | 
					
						
							|  |  |  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import gtsam.* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %% Create keys for variables | 
					
						
							|  |  |  | x1 = symbol('x',1); x2 = symbol('x',2); x3 = symbol('x',3); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | actual = utilities.createKeyList([1;2;3]); | 
					
						
							|  |  |  | CHECK('KeyList', isa(actual,'gtsam.KeyList')); | 
					
						
							|  |  |  | CHECK('size==3', actual.size==3); | 
					
						
							|  |  |  | CHECK('actual.front==1', actual.front==1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | actual = utilities.createKeyList('x',[1;2;3]); | 
					
						
							|  |  |  | CHECK('KeyList', isa(actual,'gtsam.KeyList')); | 
					
						
							|  |  |  | CHECK('size==3', actual.size==3); | 
					
						
							|  |  |  | CHECK('actual.front==x1', actual.front==x1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | actual = utilities.createKeyVector([1;2;3]); | 
					
						
							|  |  |  | CHECK('KeyVector', isa(actual,'gtsam.KeyVector')); | 
					
						
							|  |  |  | CHECK('size==3', actual.size==3); | 
					
						
							|  |  |  | CHECK('actual.at(0)==1', actual.at(0)==1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | actual = utilities.createKeyVector('x',[1;2;3]); | 
					
						
							|  |  |  | CHECK('KeyVector', isa(actual,'gtsam.KeyVector')); | 
					
						
							|  |  |  | CHECK('size==3', actual.size==3); | 
					
						
							|  |  |  | CHECK('actual.at(0)==x1', actual.at(0)==x1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | actual = utilities.createKeySet([1;2;3]); | 
					
						
							|  |  |  | CHECK('KeySet', isa(actual,'gtsam.KeySet')); | 
					
						
							|  |  |  | CHECK('size==3', actual.size==3); | 
					
						
							|  |  |  | CHECK('actual.count(1)', actual.count(1)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | actual = utilities.createKeySet('x',[1;2;3]); | 
					
						
							|  |  |  | CHECK('KeySet', isa(actual,'gtsam.KeySet')); | 
					
						
							|  |  |  | CHECK('size==3', actual.size==3); | 
					
						
							|  |  |  | CHECK('actual.count(x1)', actual.count(x1)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-09 15:35:14 +08:00
										 |  |  | % test extractVectors | 
					
						
							|  |  |  | values = Values(); | 
					
						
							|  |  |  | values.insert(symbol('x', 0), (1:6)'); | 
					
						
							|  |  |  | values.insert(symbol('x', 1), (7:12)'); | 
					
						
							|  |  |  | values.insert(symbol('x', 2), (13:18)'); | 
					
						
							|  |  |  | values.insert(symbol('x', 7), Pose3()); | 
					
						
							|  |  |  | actual = utilities.extractVectors(values, 'x'); | 
					
						
							|  |  |  | expected = reshape(1:18, 6, 3)'; | 
					
						
							|  |  |  | CHECK('extractVectors', all(actual == expected, 'all')); |