{ "auto_complete": { "selected_items": [ ] }, "buffers": [ { "file": "src/yaml/scalarMappingParser.cc", "settings": { "buffer_size": 1390, "line_ending": "Unix" } }, { "contents": "/* object_parser.cc\n * vim: set tw=80:\n * Eryn Wells \n */\n/**\n * Implementation of ObjectParser.\n */\n\n#include \n#include \n#include \n\n#include \"yaml/object_parser.hh\"\n\n#include \"object_sphere.h\"\n#include \"yaml/vector_parser.hh\"\n\n\nnamespace yaml {\n\nObjectParser::ObjectParser(Scene& scene,\n ParserStack& parsers)\n : Parser(scene, parsers)\n{ }\n\n\nvoid\nObjectParser::HandleEvent(yaml_event_t& event)\n{\n switch (mSection) {\n case NoSection:\n HandleTopLevelEvent(event);\n break;\n case OriginSection:\n break;\n case RadiusSection:\n break;\n default:\n assert(false);\n break;\n }\n}\n\n\nvoid\nObjectParser::HandleTopLevelEvent(yaml_event_t& event)\n{\n static const std::string ORIGIN = \"origin\";\n static const std::string RADIUS = \"radius\";\n\n if (event.type == YAML_MAPPING_END_EVENT) {\n SetDone(true);\n return;\n }\n\n if (event.type != YAML_SCALAR_EVENT) {\n /* TODO: Clean this up. */\n assert(false);\n }\n\n std::string value = (char *)event.data.scalar.value;\n if (value == ORIGIN) {\n mSection = OriginSection;\n }\n else if (value == RADIUS) {\n mSection = RadiusSection;\n }\n else {\n /* TODO: Clean this up. */\n assert(false);\n }\n}\n\n\nvoid\nObjectParser::HandleOriginEvent(yaml_event_t& event)\n{\n if (event.type != YAML_SEQUENCE_START_EVENT) {\n /* TODO: Clean this up. */\n assert(false);\n }\n\n auto onDone = [this](std::vector origin) {\n if (origin.size() < 3) {\n assert(origin.size() < 3);\n }\n mObject->set_origin(Vector3(origin[0], origin[1], origin[2]));\n mSection = NoSection;\n };\n\n GetParsers().push(new VectorParser(GetScene(), GetParsers(), onDone));\n}\n\n\nvoid\nObjectParser::HandleRadiusEvent(yaml_event_t& event)\n{\n if (event.type != YAML_SCALAR_EVENT) {\n /* TODO: Clean this up. */\n assert(false);\n }\n\n double radius;\n std::string scalar((char *)event.data.scalar.value,\n event.data.scalar.length);\n if (!ParseScalar(scalar, radius)) {\n /* TODO: Clean this up. */\n assert(false);\n }\n mObject->set_radius(radius);\n mSection = NoSection;\n}\n\n} /* namespace yaml */\n", "file": "src/yaml/object_parser.cc", "file_size": 2380, "file_write_time": 130502660140000000, "settings": { "buffer_size": 2380, "line_ending": "Unix" } }, { "file": "src/yaml/parsers.hh", "settings": { "buffer_size": 2575, "line_ending": "Unix" } }, { "file": "src/yaml/scalarMappingParser.hh", "settings": { "buffer_size": 908, "line_ending": "Unix" } }, { "file": "src/yaml/scene_parser.cc", "settings": { "buffer_size": 2049, "line_ending": "Unix" } }, { "file": "src/yaml/scene_parser.hh", "settings": { "buffer_size": 789, "line_ending": "Unix" } }, { "file": "/Users/eryn/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings", "settings": { "buffer_size": 81, "line_ending": "Unix" } } ], "build_system": "", "command_palette": { "height": 0.0, "selected_items": [ ], "width": 0.0 }, "console": { "height": 0.0, "history": [ ] }, "distraction_free": { "menu_visible": true, "show_minimap": false, "show_open_files": false, "show_tabs": false, "side_bar_visible": false, "status_bar_visible": false }, "file_history": [ "/Users/eryn/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings" ], "find": { "height": 0.0 }, "find_in_files": { "height": 0.0, "where_history": [ ] }, "find_state": { "case_sensitive": false, "find_history": [ ], "highlight": true, "in_selection": false, "preserve_case": false, "regex": false, "replace_history": [ ], "reverse": false, "show_context": true, "use_buffer2": true, "whole_word": false, "wrap": true }, "groups": [ { "selected": 4, "sheets": [ { "buffer": 0, "file": "src/yaml/scalarMappingParser.cc", "semi_transient": false, "settings": { "buffer_size": 1390, "regions": { }, "selection": [ [ 1162, 1162 ] ], "settings": { "syntax": "Packages/C++/C++.tmLanguage", "tab_size": 4, "translate_tabs_to_spaces": true }, "translation.x": 0.0, "translation.y": 241.0, "zoom_level": 1.0 }, "stack_index": 4, "type": "text" }, { "buffer": 1, "file": "src/yaml/object_parser.cc", "semi_transient": false, "settings": { "buffer_size": 2380, "regions": { }, "selection": [ [ 2192, 2192 ] ], "settings": { "syntax": "Packages/C++/C++.tmLanguage", "tab_size": 4, "translate_tabs_to_spaces": true }, "translation.x": -0.0, "translation.y": 1029.0, "zoom_level": 1.0 }, "stack_index": 6, "type": "text" }, { "buffer": 2, "file": "src/yaml/parsers.hh", "semi_transient": false, "settings": { "buffer_size": 2575, "regions": { }, "selection": [ [ 2501, 2501 ] ], "settings": { "syntax": "Packages/C++/C++.tmLanguage", "tab_size": 2, "translate_tabs_to_spaces": true }, "translation.x": -0.0, "translation.y": 1369.0, "zoom_level": 1.0 }, "stack_index": 5, "type": "text" }, { "buffer": 3, "file": "src/yaml/scalarMappingParser.hh", "semi_transient": false, "settings": { "buffer_size": 908, "regions": { }, "selection": [ [ 597, 597 ] ], "settings": { "syntax": "Packages/C++/C++.tmLanguage" }, "translation.x": 0.0, "translation.y": 0.0, "zoom_level": 1.0 }, "stack_index": 3, "type": "text" }, { "buffer": 4, "file": "src/yaml/scene_parser.cc", "semi_transient": false, "settings": { "buffer_size": 2049, "regions": { }, "selection": [ [ 1575, 1575 ] ], "settings": { "syntax": "Packages/C++/C++.tmLanguage", "tab_size": 4, "translate_tabs_to_spaces": true }, "translation.x": 0.0, "translation.y": 598.0, "zoom_level": 1.0 }, "stack_index": 0, "type": "text" }, { "buffer": 5, "file": "src/yaml/scene_parser.hh", "semi_transient": true, "settings": { "buffer_size": 789, "regions": { }, "selection": [ [ 722, 722 ] ], "settings": { "syntax": "Packages/C++/C++.tmLanguage", "tab_size": 4, "translate_tabs_to_spaces": true }, "translation.x": 0.0, "translation.y": 0.0, "zoom_level": 1.0 }, "stack_index": 1, "type": "text" }, { "buffer": 6, "file": "/Users/eryn/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings", "semi_transient": false, "settings": { "buffer_size": 81, "regions": { }, "selection": [ [ 78, 78 ] ], "settings": { "syntax": "Packages/JavaScript/JSON.tmLanguage" }, "translation.x": 0.0, "translation.y": 0.0, "zoom_level": 1.0 }, "stack_index": 2, "type": "text" } ] } ], "incremental_find": { "height": 0.0 }, "input": { "height": 0.0 }, "layout": { "cells": [ [ 0, 0, 1, 1 ] ], "cols": [ 0.0, 1.0 ], "rows": [ 0.0, 1.0 ] }, "menu_visible": true, "output.find_results": { "height": 0.0 }, "project": "charles.sublime-project", "replace": { "height": 0.0 }, "save_all_on_build": true, "select_file": { "height": 0.0, "selected_items": [ ], "width": 0.0 }, "select_project": { "height": 0.0, "selected_items": [ ], "width": 0.0 }, "select_symbol": { "height": 0.0, "selected_items": [ ], "width": 0.0 }, "settings": { }, "show_minimap": true, "show_open_files": false, "show_tabs": true, "side_bar_visible": true, "side_bar_width": 235.0, "status_bar_visible": true, "template_settings": { } }