File: Geom_VectorWithMagnitude.hxx

package info (click to toggle)
oce 0.18.2-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 301,460 kB
  • sloc: cpp: 1,190,610; ansic: 67,225; sh: 11,667; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 344; xml: 292; perl: 37
file content (157 lines) | stat: -rw-r--r-- 4,758 bytes parent folder | download | duplicates (5)
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// 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

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_Geom_VectorWithMagnitude.hxx>

#include <Geom_Vector.hxx>
#include <Standard_Real.hxx>
#include <Handle_Geom_Vector.hxx>
#include <Handle_Geom_Geometry.hxx>
class Standard_ConstructionError;
class gp_Vec;
class gp_Pnt;
class Geom_Vector;
class gp_Trsf;
class Geom_Geometry;



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

public:

  
  //! Creates a transient copy of V.
  Standard_EXPORT Geom_VectorWithMagnitude(const gp_Vec& V);
  
  //! Creates a vector with three cartesian coordinates.
  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.
  //! The magnitude of the vector is the distance between P1 and P2
  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.
  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.
  Standard_EXPORT   void SetVec (const gp_Vec& V) ;
  
  //! Changes the X coordinate of <me>.
  Standard_EXPORT   void SetX (const Standard_Real X) ;
  
  //! Changes the Y coordinate of <me>
  Standard_EXPORT   void SetY (const Standard_Real Y) ;
  
  //! Changes the Z coordinate of <me>.
  Standard_EXPORT   void SetZ (const Standard_Real Z) ;
  
  //! Returns the magnitude of <me>.
  Standard_EXPORT   Standard_Real Magnitude()  const;
  
  //! Returns the square magnitude of <me>.
  Standard_EXPORT   Standard_Real SquareMagnitude()  const;
  

  //! Adds the Vector Other to <me>.
  Standard_EXPORT   void Add (const Handle(Geom_Vector)& Other) ;
  

  //! Adds the vector Other to <me>.
  Standard_EXPORT   Handle(Geom_VectorWithMagnitude) Added (const Handle(Geom_Vector)& Other)  const;
  

  //! Computes the cross product  between <me> and Other
  //! <me> ^ Other.
  Standard_EXPORT   void Cross (const Handle(Geom_Vector)& Other) ;
  

  //! Computes the cross product  between <me> and Other
  //! <me> ^ Other. A new vector is returned.
  Standard_EXPORT   Handle(Geom_Vector) Crossed (const Handle(Geom_Vector)& Other)  const;
  

  //! Computes the triple vector product  <me> ^ (V1 ^ V2).
  Standard_EXPORT   void CrossCross (const Handle(Geom_Vector)& V1, const Handle(Geom_Vector)& V2) ;
  

  //! Computes the triple vector product  <me> ^ (V1 ^ V2).
  //! A new vector is returned.
  Standard_EXPORT   Handle(Geom_Vector) CrossCrossed (const Handle(Geom_Vector)& V1, const Handle(Geom_Vector)& V2)  const;
  
  //! Divides <me> by a scalar.
  Standard_EXPORT   void Divide (const Standard_Real Scalar) ;
  

  //! Divides <me> by a scalar. A new vector is returned.
  Standard_EXPORT   Handle(Geom_VectorWithMagnitude) Divided (const Standard_Real Scalar)  const;
  

  //! Computes the product of the vector <me> by a scalar.
  //! A new vector is returned.
  Standard_EXPORT   Handle(Geom_VectorWithMagnitude) Multiplied (const Standard_Real Scalar)  const;
  

  //! Computes the product of the vector <me> by a scalar.
  Standard_EXPORT   void Multiply (const Standard_Real Scalar) ;
  
  //! Normalizes <me>.
  //!
  //! Raised if the magnitude of the vector is lower or equal to
  //! Resolution from package gp.
  Standard_EXPORT   void Normalize() ;
  
  //! Returns a copy of <me> Normalized.
  //!
  //! Raised if the magnitude of the vector is lower or equal to
  //! Resolution from package gp.
  Standard_EXPORT   Handle(Geom_VectorWithMagnitude) Normalized()  const;
  
  //! Subtracts the Vector Other to <me>.
  Standard_EXPORT   void Subtract (const Handle(Geom_Vector)& Other) ;
  

  //! Subtracts the vector Other to <me>. A new vector is returned.
  Standard_EXPORT   Handle(Geom_VectorWithMagnitude) Subtracted (const Handle(Geom_Vector)& Other)  const;
  
  //! Applies the transformation T to this vector.
  Standard_EXPORT   void Transform (const gp_Trsf& T) ;
  
  //! Creates a new object which is a copy of this vector.
  Standard_EXPORT   Handle(Geom_Geometry) Copy()  const;




  DEFINE_STANDARD_RTTI(Geom_VectorWithMagnitude)

protected:




private: 




};







#endif // _Geom_VectorWithMagnitude_HeaderFile