| 2397 | } |
| 2398 | |
| 2399 | void TSShapeConstructor::ChangeSet::add( TSShapeConstructor::ChangeSet::Command& cmd ) |
| 2400 | { |
| 2401 | // Lookup the command type |
| 2402 | cmd.type = getCmdType(cmd.name); if (cmd.type == CmdInvalid) |
| 2403 | return; |
| 2404 | |
| 2405 | // Ignore operations on __proxy__ sequences (they are only used by the shape editor) |
| 2406 | if (cmd.argv[0].startsWith("__proxy__") || ((cmd.type == CmdAddSequence) && cmd.argv[1].startsWith("__proxy__"))) |
| 2407 | return; |
| 2408 | |
| 2409 | // Add the command to the change set (apply command specific collapsing) |
| 2410 | bool addCommand = true; |
| 2411 | switch (cmd.type) |
| 2412 | { |
| 2413 | |
| 2414 | // Node commands |
| 2415 | case CmdSetNodeParent: addCommand = addCmd_setNodeParent(cmd); break; |
| 2416 | case CmdSetNodeTransform: addCommand = addCmd_setNodeTransform(cmd); break; |
| 2417 | case CmdRenameNode: addCommand = addCmd_renameNode(cmd); break; |
| 2418 | case CmdRemoveNode: addCommand = addCmd_removeNode(cmd); break; |
| 2419 | |
| 2420 | // Mesh commands |
| 2421 | case CmdSetMeshSize: addCommand = addCmd_setMeshSize(cmd); break; |
| 2422 | case CmdSetMeshType: addCommand = addCmd_setMeshType(cmd); break; |
| 2423 | case CmdSetMeshMaterial: addCommand = addCmd_setMeshMaterial(cmd); break; |
| 2424 | case CmdRemoveMesh: addCommand = addCmd_removeMesh(cmd); break; |
| 2425 | |
| 2426 | // Object commands |
| 2427 | case CmdSetObjectNode: addCommand = addCmd_setObjectNode(cmd); break; |
| 2428 | case CmdRenameObject: addCommand = addCmd_renameObject(cmd); break; |
| 2429 | case CmdRemoveObject: addCommand = addCmd_removeObject(cmd); break; |
| 2430 | case CmdSetBounds: addCommand = addCmd_setBounds(cmd); break; |
| 2431 | |
| 2432 | // Detail level commands |
| 2433 | case CmdRenameDetailLevel: addCommand = addCmd_renameDetailLevel(cmd); break; |
| 2434 | case CmdRemoveDetailLevel: addCommand = addCmd_removeDetailLevel(cmd); break; |
| 2435 | case CmdSetDetailLevelSize: addCommand = addCmd_setDetailSize(cmd); break; |
| 2436 | case CmdAddImposter: addCommand = addCmd_addImposter(cmd); break; |
| 2437 | case CmdRemoveImposter: addCommand = addCmd_removeImposter(cmd); break; |
| 2438 | |
| 2439 | // Sequence commands |
| 2440 | case CmdAddSequence: addCommand = addCmd_addSequence(cmd); break; |
| 2441 | case CmdSetSequencePriority: addCommand = addCmd_setSequencePriority(cmd); break; |
| 2442 | case CmdSetSequenceGroundSpeed: addCommand = addCmd_setSequenceGroundSpeed(cmd); break; |
| 2443 | case CmdSetSequenceCyclic: addCommand = addCmd_setSequenceCyclic(cmd); break; |
| 2444 | case CmdSetSequenceBlend: addCommand = addCmd_setSequenceBlend(cmd); break; |
| 2445 | case CmdRenameSequence: addCommand = addCmd_renameSequence(cmd); break; |
| 2446 | case CmdRemoveSequence: addCommand = addCmd_removeSequence(cmd); break; |
| 2447 | |
| 2448 | case CmdAddTrigger: addCommand = addCmd_addTrigger(cmd); break; |
| 2449 | case CmdRemoveTrigger: addCommand = addCmd_removeTrigger(cmd); break; |
| 2450 | |
| 2451 | // Other commands that do not have optimizations |
| 2452 | default: |
| 2453 | break; |
| 2454 | } |
| 2455 | |
| 2456 | if (addCommand) |
no test coverage detected