| 2222 | } |
| 2223 | |
| 2224 | void TSShapeConstructor::ChangeSet::add( TSShapeConstructor::ChangeSet::Command& cmd ) |
| 2225 | { |
| 2226 | // Lookup the command type |
| 2227 | cmd.type = getCmdType( cmd.name );if ( cmd.type == CmdInvalid ) |
| 2228 | return; |
| 2229 | |
| 2230 | // Ignore operations on __proxy__ sequences (they are only used by the shape editor) |
| 2231 | if ( cmd.argv[0].startsWith( "__proxy__" ) || ((cmd.type == CmdAddSequence) && cmd.argv[1].startsWith( "__proxy__") ) ) |
| 2232 | return; |
| 2233 | |
| 2234 | // Add the command to the change set (apply command specific collapsing) |
| 2235 | bool addCommand = true; |
| 2236 | switch ( cmd.type ) |
| 2237 | { |
| 2238 | |
| 2239 | // Node commands |
| 2240 | case CmdSetNodeParent: addCommand = addCmd_setNodeParent( cmd ); break; |
| 2241 | case CmdSetNodeTransform: addCommand = addCmd_setNodeTransform( cmd ); break; |
| 2242 | case CmdRenameNode: addCommand = addCmd_renameNode( cmd ); break; |
| 2243 | case CmdRemoveNode: addCommand = addCmd_removeNode( cmd ); break; |
| 2244 | |
| 2245 | // Mesh commands |
| 2246 | case CmdSetMeshSize: addCommand = addCmd_setMeshSize( cmd ); break; |
| 2247 | case CmdSetMeshType: addCommand = addCmd_setMeshType( cmd ); break; |
| 2248 | case CmdSetMeshMaterial: addCommand = addCmd_setMeshMaterial( cmd ); break; |
| 2249 | case CmdRemoveMesh: addCommand = addCmd_removeMesh( cmd ); break; |
| 2250 | |
| 2251 | // Object commands |
| 2252 | case CmdSetObjectNode: addCommand = addCmd_setObjectNode( cmd ); break; |
| 2253 | case CmdRenameObject: addCommand = addCmd_renameObject( cmd ); break; |
| 2254 | case CmdRemoveObject: addCommand = addCmd_removeObject( cmd ); break; |
| 2255 | case CmdSetBounds: addCommand = addCmd_setBounds( cmd ); break; |
| 2256 | |
| 2257 | // Detail level commands |
| 2258 | case CmdRenameDetailLevel: addCommand = addCmd_renameDetailLevel( cmd ); break; |
| 2259 | case CmdRemoveDetailLevel: addCommand = addCmd_removeDetailLevel( cmd ); break; |
| 2260 | case CmdSetDetailLevelSize: addCommand = addCmd_setDetailSize( cmd ); break; |
| 2261 | case CmdAddImposter: addCommand = addCmd_addImposter( cmd ); break; |
| 2262 | case CmdRemoveImposter: addCommand = addCmd_removeImposter( cmd ); break; |
| 2263 | |
| 2264 | // Sequence commands |
| 2265 | case CmdAddSequence: addCommand = addCmd_addSequence( cmd ); break; |
| 2266 | case CmdSetSequencePriority: addCommand = addCmd_setSequencePriority( cmd ); break; |
| 2267 | case CmdSetSequenceGroundSpeed: addCommand = addCmd_setSequenceGroundSpeed( cmd ); break; |
| 2268 | case CmdSetSequenceCyclic: addCommand = addCmd_setSequenceCyclic( cmd ); break; |
| 2269 | case CmdSetSequenceBlend: addCommand = addCmd_setSequenceBlend( cmd ); break; |
| 2270 | case CmdRenameSequence: addCommand = addCmd_renameSequence( cmd ); break; |
| 2271 | case CmdRemoveSequence: addCommand = addCmd_removeSequence( cmd ); break; |
| 2272 | |
| 2273 | case CmdAddTrigger: addCommand = addCmd_addTrigger( cmd ); break; |
| 2274 | case CmdRemoveTrigger: addCommand = addCmd_removeTrigger( cmd ); break; |
| 2275 | |
| 2276 | // Other commands that do not have optimizations |
| 2277 | default: |
| 2278 | break; |
| 2279 | } |
| 2280 | |
| 2281 | if ( addCommand ) |
no test coverage detected