summaryrefslogtreecommitdiff
path: root/inc/Geom_VectorWithMagnitude.hxx
blob: 7c17c908c49f3771b8fbf1028a8119137aa00825 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Geom_VectorWithMagnitude_HeaderFile
#define _Geom_VectorWithMagnitude_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Geom_VectorWithMagnitude_HeaderFile
#include <Handle_Geom_VectorWithMagnitude.hxx>
#endif

#ifndef _Geom_Vector_HeaderFile
#include <Geom_Vector.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Handle_Geom_Vector_HeaderFile
#include <Handle_Geom_Vector.hxx>
#endif
#ifndef _Handle_Geom_Geometry_HeaderFile
#include <Handle_Geom_Geometry.hxx>
#endif
class Standard_ConstructionError;
class gp_Vec;
class gp_Pnt;
class Geom_Vector;
class gp_Trsf;
class Geom_Geometry;



//!  Defines a vector with magnitude. <br>
//!  A vector with magnitude can have a zero length. <br>
class Geom_VectorWithMagnitude : public Geom_Vector {

public:

  //! Creates a transient copy of V. <br>
  Standard_EXPORT   Geom_VectorWithMagnitude(const gp_Vec& V);
  //! Creates a vector with three cartesian coordinates. <br>
  Standard_EXPORT   Geom_VectorWithMagnitude(const Standard_Real X,const Standard_Real Y,const Standard_Real Z);
  
//!  Creates a vector from the point P1 to the point P2. <br>
//!  The magnitude of the vector is the distance between P1 and P2 <br>
  Standard_EXPORT   Geom_VectorWithMagnitude(const gp_Pnt& P1,const gp_Pnt& P2);
  //!  Assigns the values X, Y and Z to the coordinates of this vector. <br>
  Standard_EXPORT     void SetCoord(const Standard_Real X,const Standard_Real Y,const Standard_Real Z) ;
  //!  Converts the gp_Vec vector V into this vector. <br>
  Standard_EXPORT     void SetVec(const gp_Vec& V) ;
  //! Changes the X coordinate of <me>. <br>
  Standard_EXPORT     void SetX(const Standard_Real X) ;
  //!  Changes the Y coordinate of <me> <br>
  Standard_EXPORT     void SetY(const Standard_Real Y) ;
  //! Changes the Z coordinate of <me>. <br>
  Standard_EXPORT     void SetZ(const Standard_Real Z) ;
  //! Returns the magnitude of <me>. <br>
  Standard_EXPORT     Standard_Real Magnitude() const;
  //! Returns the square magnitude of <me>. <br>
  Standard_EXPORT     Standard_Real SquareMagnitude() const;
  
//!  Adds the Vector Other to <me>. <br>
  Standard_EXPORT     void Add(const Handle(Geom_Vector)& Other) ;
  
//!  Adds the vector Other to <me>. <br>
  Standard_EXPORT     Handle_Geom_VectorWithMagnitude Added(const Handle(Geom_Vector)& Other) const;
  
//!  Computes the cross product  between <me> and Other <br>
//!  <me> ^ Other. <br>
  Standard_EXPORT     void Cross(const Handle(Geom_Vector)& Other) ;
  
//!  Computes the cross product  between <me> and Other <br>
//!  <me> ^ Other. A new vector is returned. <br>
  Standard_EXPORT     Handle_Geom_Vector Crossed(const Handle(Geom_Vector)& Other) const;
  
//!  Computes the triple vector product  <me> ^ (V1 ^ V2). <br>
  Standard_EXPORT     void CrossCross(const Handle(Geom_Vector)& V1,const Handle(Geom_Vector)& V2) ;
  
//!  Computes the triple vector product  <me> ^ (V1 ^ V2). <br>
//!  A new vector is returned. <br>
  Standard_EXPORT     Handle_Geom_Vector CrossCrossed(const Handle(Geom_Vector)& V1,const Handle(Geom_Vector)& V2) const;
  //! Divides <me> by a scalar. <br>
  Standard_EXPORT     void Divide(const Standard_Real Scalar) ;
  
//!  Divides <me> by a scalar. A new vector is returned. <br>
  Standard_EXPORT     Handle_Geom_VectorWithMagnitude Divided(const Standard_Real Scalar) const;
  
//!  Computes the product of the vector <me> by a scalar. <br>
//!  A new vector is returned. <br>
  Standard_EXPORT     Handle_Geom_VectorWithMagnitude Multiplied(const Standard_Real Scalar) const;
  
//!  Computes the product of the vector <me> by a scalar. <br>
  Standard_EXPORT     void Multiply(const Standard_Real Scalar) ;
  //! Normalizes <me>. <br>
//!  Raised if the magnitude of the vector is lower or equal to <br>
//!  Resolution from package gp. <br>
  Standard_EXPORT     void Normalize() ;
  //! Returns a copy of <me> Normalized. <br>
//!  Raised if the magnitude of the vector is lower or equal to <br>
//!  Resolution from package gp. <br>
  Standard_EXPORT     Handle_Geom_VectorWithMagnitude Normalized() const;
  //! Subtracts the Vector Other to <me>. <br>
  Standard_EXPORT     void Subtract(const Handle(Geom_Vector)& Other) ;
  
//!  Subtracts the vector Other to <me>. A new vector is returned. <br>
  Standard_EXPORT     Handle_Geom_VectorWithMagnitude Subtracted(const Handle(Geom_Vector)& Other) const;
  //! Applies the transformation T to this vector. <br>
  Standard_EXPORT     void Transform(const gp_Trsf& T) ;
  //! Creates a new object which is a copy of this vector. <br>
  Standard_EXPORT     Handle_Geom_Geometry Copy() const;




  DEFINE_STANDARD_RTTI(Geom_VectorWithMagnitude)

protected:




private: 




};





// other Inline functions and methods (like "C++: function call" methods)


#endif