![]() |
Vault
4.1
|
00001 /* 00002 Copyright c1997-2014 Trygve Isaacson. All rights reserved. 00003 This file is part of the Code Vault version 4.1 00004 http://www.bombaydigital.com/ 00005 License: MIT. See LICENSE.md in the Vault top level directory. 00006 */ 00007 00008 #include "vgeometry.h" 00009 00010 // VGeometry --------------------------------------------------------------- 00011 00012 bool VGeometry::equal(VDouble a, VDouble b) { 00013 return V_FABS(a - b) < 0.000001; 00014 } 00015 00016 bool VGeometry::notEqual(VDouble a, VDouble b) { 00017 return V_FABS(a - b) >= 0.000001; 00018 } 00019 00020 bool VGeometry::equal(int a, int b) { 00021 return a == b; 00022 } 00023 00024 bool VGeometry::notEqual(int a, int b) { 00025 return a != b; 00026 } 00027 00028 void VGeometry::writePairToStream(VBinaryIOStream& stream, VDouble item1, VDouble item2) { 00029 stream.writeDouble(item1); 00030 stream.writeDouble(item2); 00031 } 00032 00033 void VGeometry::readPairFromStream(VBinaryIOStream& stream, VDouble& item1, VDouble& item2) { 00034 item1 = stream.readDouble(); 00035 item2 = stream.readDouble(); 00036 } 00037 00038 void VGeometry::writePairToStream(VBinaryIOStream& stream, int item1, int item2) { 00039 stream.writeInt32(item1); 00040 stream.writeInt32(item2); 00041 } 00042 00043 void VGeometry::readPairFromStream(VBinaryIOStream& stream, int& item1, int& item2) { 00044 item1 = stream.readInt32(); 00045 item2 = stream.readInt32(); 00046 } 00047 00048 void VGeometry::writeTripletToStream(VBinaryIOStream& stream, VDouble item1, VDouble item2, VDouble item3) { 00049 stream.writeDouble(item1); 00050 stream.writeDouble(item2); 00051 stream.writeDouble(item3); 00052 } 00053 00054 void VGeometry::readTripletFromStream(VBinaryIOStream& stream, VDouble& item1, VDouble& item2, VDouble& item3) { 00055 item1 = stream.readDouble(); 00056 item2 = stream.readDouble(); 00057 item3 = stream.readDouble(); 00058 } 00059 00060 void VGeometry::writeTripletToStream(VBinaryIOStream& stream, int item1, int item2, int item3) { 00061 stream.writeInt32(item1); 00062 stream.writeInt32(item2); 00063 stream.writeInt32(item3); 00064 } 00065 00066 void VGeometry::readTripletFromStream(VBinaryIOStream& stream, int& item1, int& item2, int& item3) { 00067 item1 = stream.readInt32(); 00068 item2 = stream.readInt32(); 00069 item3 = stream.readInt32(); 00070 } 00071 00072 VDouble VGeometry::getDistance(VDouble dx, VDouble dy) { 00073 return sqrt((dx * dx) + (dy * dy)); 00074 } 00075 00076 VDouble VGeometry::getDistance(int dx, int dy) { 00077 return sqrt(static_cast<VDouble>(dx * dx) + static_cast<VDouble>(dy * dy)); 00078 } 00079