0031313: Foundation Classes - Dump improvement for classes
[occt.git] / src / gp / gp_Ax22d.cxx
1 // Copyright (c) 1995-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 // JCV 1/10/90 Changement de nom du package vgeom -> gp
16 // JCV 12/12/90 Modif mineur suite a la premiere revue de projet
17 // LPA, JCV  07/92 passage sur C1.
18 // JCV 07/92 Introduction de la method Dump 
19
20 #include <gp_Ax2d.hxx>
21 #include <gp_Ax22d.hxx>
22 #include <gp_Dir2d.hxx>
23 #include <gp_Pnt2d.hxx>
24 #include <gp_Trsf2d.hxx>
25 #include <gp_Vec2d.hxx>
26 #include <Standard_ConstructionError.hxx>
27 #include <Standard_Dump.hxx>
28
29 void gp_Ax22d::Mirror (const gp_Pnt2d& P)
30 {
31   gp_Pnt2d Temp = point;
32   Temp.Mirror (P);
33   point = Temp;
34   vxdir.Reverse ();
35   vydir.Reverse ();
36 }
37
38 gp_Ax22d gp_Ax22d::Mirrored(const gp_Pnt2d& P) const
39 {
40   gp_Ax22d Temp = *this;
41   Temp.Mirror (P);
42   return Temp;
43 }
44
45 void gp_Ax22d::Mirror (const gp_Ax2d& A1)
46 {
47   vydir.Mirror (A1);
48   vxdir.Mirror (A1);
49   gp_Pnt2d Temp = point;
50   Temp.Mirror (A1);
51   point = Temp;
52 }
53
54 gp_Ax22d gp_Ax22d::Mirrored(const gp_Ax2d& A1) const
55 {
56   gp_Ax22d Temp = *this;
57   Temp.Mirror (A1);
58   return Temp;
59 }
60
61 void gp_Ax22d::DumpJson (Standard_OStream& theOStream, Standard_Integer) const
62 {
63   OCCT_DUMP_VECTOR_CLASS (theOStream, "Location", 2, point.X(), point.Y())
64
65   OCCT_DUMP_VECTOR_CLASS (theOStream, "XAxis", 2, vxdir.X(), vxdir.Y())
66   OCCT_DUMP_VECTOR_CLASS (theOStream, "YAxis", 2, vydir.X(), vydir.Y())
67 }