<commit_before>#pragma once

#include <iostream.h>
#include <vector>
#include <string>
#include <memory>

#include "ModelView.hpp"

namespace terasca {
	class Controller
	{
	public:
		enum MouseButton
		{
			LEFT_BUTTON, MIDDLE_BUTTON, RIGHT_BUTTON
		};

		enum ModifierBit
		{
			ALT = 1, CONTROL = 2, SHIFT = 4
		};

		enum RenderingContextBit
		{
			ALPHA = 1, DEPTH = 2, STENCIL = 4, ACCUM = 8
		};

		Controller();
		virtual ~Controller();

		void reportVersions(std::ostream& os) const;
		void getOverallMCBoundingBox(double* xyzLimits) const;
		virtual void redraw() const {}
		void setClearFlags(int rcFlags);
		void addModelView(std::shared_ptr<ModelView> modelView);

	protected:
		virtual void reportWindowInterfaceVersion(std::ostream& os) const = 0;
		virtual void handleReshape(int width, int height);
		virtual void handleAsciiChar(unsigned char theChar, int x, int y);
		virtual void handleMouseButton(MouseButton button, bool isPressed, int x, int y, int mods) {}
		virtual void handleMouseScroll(double xOffset, double yOffset) {}
		virtual void handleMousePosition(int x, int y) {}
		virtual void endProgram();
		void screenSpaceToDeviceSpace(int x, int y, double& dsX, double& dsY);

		double overallMCBoundingBox[6];
		int glClearFlags;
		std::vector<std::shared_ptr<ModelView>> modelViews;

		static Controller* _instance;
		static int initialWindowWidth, initialWindowHeight;
		static bool checkForErrors(std::ostream& os, const std::string& context);

	private:
		void _updateMCBoundingBox(std::shared_ptr<ModelView> modelView);
	};
}
<commit_msg>Rolling back previous change as had no effect.<commit_after>#pragma once

#include <iostream>
#include <vector>
#include <string>
#include <memory>

#include "ModelView.hpp"

namespace terasca {
	class Controller
	{
	public:
		enum MouseButton
		{
			LEFT_BUTTON, MIDDLE_BUTTON, RIGHT_BUTTON
		};

		enum ModifierBit
		{
			ALT = 1, CONTROL = 2, SHIFT = 4
		};

		enum RenderingContextBit
		{
			ALPHA = 1, DEPTH = 2, STENCIL = 4, ACCUM = 8
		};

		Controller();
		virtual ~Controller();

		void reportVersions(std::ostream& os) const;
		void getOverallMCBoundingBox(double* xyzLimits) const;
		virtual void redraw() const {}
		void setClearFlags(int rcFlags);
		void addModelView(std::shared_ptr<ModelView> modelView);

	protected:
		virtual void reportWindowInterfaceVersion(std::ostream& os) const = 0;
		virtual void handleReshape(int width, int height);
		virtual void handleAsciiChar(unsigned char theChar, int x, int y);
		virtual void handleMouseButton(MouseButton button, bool isPressed, int x, int y, int mods) {}
		virtual void handleMouseScroll(double xOffset, double yOffset) {}
		virtual void handleMousePosition(int x, int y) {}
		virtual void endProgram();
		void screenSpaceToDeviceSpace(int x, int y, double& dsX, double& dsY);

		double overallMCBoundingBox[6];
		int glClearFlags;
		std::vector<std::shared_ptr<ModelView>> modelViews;

		static Controller* _instance;
		static int initialWindowWidth, initialWindowHeight;
		static bool checkForErrors(std::ostream& os, const std::string& context);

	private:
		void _updateMCBoundingBox(std::shared_ptr<ModelView> modelView);
	};
}

{'fraction_non_alphanumeric': 0.1021115663410022, 'fraction_numerical': 0.005672864796722345, 'mean_word_length': 5.127413127413128, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '487641', 'n_tokens_mistral': 1129, 'n_tokens_neox': 1008, 'n_words': 293}