فهرست منبع

Added setScale and setPosition methods that take vectors

Ivan Safrin 14 سال پیش
والد
کامیت
92cba2db88

+ 8 - 2
Core/Contents/Include/PolyEntity.h

@@ -192,7 +192,7 @@ namespace Polycode {
 			* Sets the entity's position with a vector.
 			@param posVec New position as a vector.
 			*/								
-			void setPosition(Vector3 posVec);
+			void setPosition(const Vector3 &posVec);
 			
 			/**
 			* Returns the entity's position on the X axis.
@@ -218,7 +218,7 @@ namespace Polycode {
 			* Translates the entity relative to its current position with a vector.
 			@param tVec New position as a vector.
 			*/											
-			void Translate(Vector3 tVec);
+			void Translate(const Vector3 &tVec);
 
 			/**
 			* Returns the entity's position on the Z axis.
@@ -261,6 +261,12 @@ namespace Polycode {
 			*/									
 			void setScale(Number x, Number y, Number z);
 			
+			/**
+			* Sets the entity's scale.
+			@param v New scale vector.
+			*/												
+			void setScale(const Vector3 &v);
+			
 			/**
 			* Returns the entity's scale multiplied by its parent's compound scale.
 			* @return Compound scale as vector.

+ 15 - 1
Core/Contents/Include/PolyScreenEntity.h

@@ -50,6 +50,13 @@ class _PolyExport ScreenEntity : public Entity, public EventDispatcher {
 		* @param y Vertical position.
 		*/
 		void setPosition(Number x, Number y);
+
+		/**
+		* Set 2d position.
+		* @param v New 2D position vector.
+		*/
+		void setPosition(const Vector2 &v);
+
 		
 		/**
 		* Set 2d scale.
@@ -58,11 +65,18 @@ class _PolyExport ScreenEntity : public Entity, public EventDispatcher {
 		*/		
 		void setScale(Number x, Number y);
 		
+		/**
+		* Set 2d scale.
+		* @param v New 2D scale vector.
+		*/
+		void setScale(const Vector2 &v);
+		
+		
 		/**
 		* Set 2d rotation.
 		* @param rotation New rotation value in degrees.
 		*/				
-		void setRotation(Number roatation);
+		void setRotation(Number rotation);
 		
 		/**
 		* Returns current rotation.

+ 8 - 3
Core/Contents/Source/PolyEntity.cpp

@@ -499,7 +499,7 @@ void Entity::setTransformByMatrix(const Matrix4& matrix) {
 	matrixDirty = true;
 }
 
-void Entity::setPosition(Vector3 posVec) {
+void Entity::setPosition(const Vector3 &posVec) {
 	position = posVec;
 	matrixDirty = true;
 }
@@ -519,7 +519,6 @@ void Entity::setPositionZ(Number z) {
 	matrixDirty = true;	
 }
 
-
 void Entity::setScaleX(Number x) {
 	scale.x = x;
 	matrixDirty = true;	
@@ -535,6 +534,12 @@ void Entity::setScaleZ(Number z) {
 	matrixDirty = true;		
 }
 
+void Entity::setScale(const Vector3 &v) {
+    scale.x = v.x;
+    scale.y = v.y;
+    scale.z = v.z;
+    matrixDirty = true;
+}
 
 void Entity::setPosition(Number x, Number y, Number z) {
 	position.x = x;
@@ -543,7 +548,7 @@ void Entity::setPosition(Number x, Number y, Number z) {
 	matrixDirty = true;
 }
 
-void Entity::Translate(Vector3 tVec) {
+void Entity::Translate(const Vector3 &tVec) {
 	position += tVec;
 	matrixDirty = true;
 }

+ 13 - 0
Core/Contents/Source/PolyScreenEntity.cpp

@@ -127,12 +127,25 @@ void ScreenEntity::setPosition(Number x, Number y) {
 	matrixDirty = true;
 }
 
+void ScreenEntity::setPosition(const Vector2 &v) {
+	position.x  = v.x;
+	position.y  = v.y;
+	matrixDirty = true;	
+}
+
 void ScreenEntity::setScale(Number x, Number y) {
 	scale.x = x;
 	scale.y = y;
 	matrixDirty = true;	
 }
 
+void ScreenEntity::setScale(const Vector2 &v) {
+	scale.x = v.x;
+	scale.y = v.y;
+	matrixDirty = true;	
+}
+
+
 Number ScreenEntity::getWidth() const {
 	return width;
 }