<commit_before>#include <c3d.h>
#include <iostream>

namespace c3d
{
	
	
	
	//constructors plus plus
	
	Surface::Surface()
	{
		position.setxyz(0.0,0.0,0.0);
		axisX.setxyz(1.0,0.0,0.0);
		axisY.setxyz(0.0,1.0,0.0);
		axisZ.setxyz(0.0,0.0,1.0);
	}
	
	Surface::Surface(const Vector & pos, const Vector & ox, const Vector & oy)
	{
		position.copy(pos);
		axisX.copy(ox);
		axisY.copy(oy);
		normalize();
	}
	Surface::Surface(const Surface & surface)
	{
		copy(surface);
	}
	
	Surface & Surface::copy(const Surface & surface)
	{
		position.copy(surface.position);
		axisX.copy(surface.axisX);
		axisY.copy(surface.axisY);
		axisZ.copy(surface.axisZ);
		return *this;
	}
	
	
	
	
	
	
	
	//getters / setters
	
	Surface & Surface::setPosition(const Vector & pos)
	{
		position.copy(pos);
		return *this;
	}
	
	Surface & Surface::setAxisX(const Vector & v)
	{
		axisX.copy(v);
		return *this;
	}
	
	Surface & Surface::setAxisY(const Vector & v)
	{
		axisY.copy(v);
		return *this;
	}
	Surface & Surface::setAxisZ(const Vector & v)
	{
		axisZ.copy(v);
		return *this;
	}
	
	Vector & Surface::getPosition()
	{
		return position;
	}
	
	Vector & Surface::getAxisX()
	{
		return axisX;
	}
	
	Vector & Surface::getAxisY()
	{
		return axisY;
	}
	
	Vector & Surface::getAxisZ()
	{
		return axisZ;
	}
	
	
	
	Surface & Surface::copyPositionTo(Vector & v)
	{
		v.copy(position);
		return *this;
	}
	
	Surface & Surface::copyAxisXTo(Vector & v)
	{
		v.copy(axisX);
		return *this;
	}
	
	Surface & Surface::copyAxisYTo(Vector & v)
	{
		v.copy(axisY);
		return *this;
	}
	
	Surface & Surface::copyAxisZTo(Vector & v)
	{
		v.copy(axisZ);
		return *this;
	}
	
	Surface & Surface::normalize()
	{
		axisY.normalize(); //Y is now length one
		axisZ.copy(axisX).cross(axisY).normalize(); //z perpendicular to y and y
		axisX.copy(axisY).cross(axisZ).normalize(); //x perpendicular to x and y
		return *this;
	}
	
	//virtual Surface Surface::clone() is virtual
	//virtual double Surface::intersection(Ray) is virtual
}<commit_msg>Minor change to comments<commit_after>#include <c3d.h>
#include <iostream>

namespace c3d
{
	
	
	
	//constructors plus plus
	
	Surface::Surface()
	{
		position.setxyz(0.0,0.0,0.0);
		axisX.setxyz(1.0,0.0,0.0);
		axisY.setxyz(0.0,1.0,0.0);
		axisZ.setxyz(0.0,0.0,1.0);
	}
	
	Surface::Surface(const Vector & pos, const Vector & ox, const Vector & oy)
	{
		position.copy(pos);
		axisX.copy(ox);
		axisY.copy(oy);
		normalize();
	}
	Surface::Surface(const Surface & surface)
	{
		copy(surface);
	}
	
	Surface & Surface::copy(const Surface & surface)
	{
		position.copy(surface.position);
		axisX.copy(surface.axisX);
		axisY.copy(surface.axisY);
		axisZ.copy(surface.axisZ);
		return *this;
	}
	
	
	
	
	
	
	
	//getters / setters
	
	Surface & Surface::setPosition(const Vector & pos)
	{
		position.copy(pos);
		return *this;
	}
	
	Surface & Surface::setAxisX(const Vector & v)
	{
		axisX.copy(v);
		return *this;
	}
	
	Surface & Surface::setAxisY(const Vector & v)
	{
		axisY.copy(v);
		return *this;
	}
	Surface & Surface::setAxisZ(const Vector & v)
	{
		axisZ.copy(v);
		return *this;
	}
	
	Vector & Surface::getPosition()
	{
		return position;
	}
	
	Vector & Surface::getAxisX()
	{
		return axisX;
	}
	
	Vector & Surface::getAxisY()
	{
		return axisY;
	}
	
	Vector & Surface::getAxisZ()
	{
		return axisZ;
	}
	
	
	
	Surface & Surface::copyPositionTo(Vector & v)
	{
		v.copy(position);
		return *this;
	}
	
	Surface & Surface::copyAxisXTo(Vector & v)
	{
		v.copy(axisX);
		return *this;
	}
	
	Surface & Surface::copyAxisYTo(Vector & v)
	{
		v.copy(axisY);
		return *this;
	}
	
	Surface & Surface::copyAxisZTo(Vector & v)
	{
		v.copy(axisZ);
		return *this;
	}
	
	Surface & Surface::normalize()
	{
		axisY.normalize(); //Y is now length one
		axisZ.copy(axisX).cross(axisY).normalize(); //z perpendicular to x and y
		axisX.copy(axisY).cross(axisZ).normalize(); //x perpendicular to y and z
		return *this;
	}
	
	//virtual Surface Surface::clone() is virtual
	//virtual double Surface::intersection(Ray) is virtual
}
{'fraction_non_alphanumeric': 0.1594816845252928, 'fraction_numerical': 0.01295788686768004, 'mean_word_length': 3.401315789473684, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, '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': '306675', 'n_tokens_mistral': 1793, 'n_tokens_neox': 1569, 'n_words': 293}