421 lines
		
	
	
	
		
			9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			421 lines
		
	
	
	
		
			9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
{
 | 
						|
	"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 <eryn@erynwells.me>\n */\n/**\n * Implementation of ObjectParser.\n */\n\n#include <cassert>\n#include <string>\n#include <vector>\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<double> 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<double>(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<double>(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":
 | 
						|
	{
 | 
						|
	}
 | 
						|
}
 |