1 /* 2 * Copyright (C) 2013 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 * in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the License 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11 * or implied. See the License for the specific language governing permissions and limitations under 12 * the License. 13 */ 14 #ifndef VECTOR2D_H 15 #define VECTOR2D_H 16 17 class Vector2D { 18 public: 19 Vector2D(); 20 Vector2D(float x, float y); 21 Vector2D copy(); 22 void normalize(); 23 void add(const Vector2D& v); 24 void sub(const Vector2D& v); 25 void scale(float s); 26 void limit(float max); 27 void limit(float maxX, float maxY); 28 float magnitude(); 29 float distance(const Vector2D& v); 30 float mX; 31 float mY; 32 }; 33 #endif 34