comparison mayachemtools/docs/modules/man3/Vector.3 @ 0:73ae111cf86f draft

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 11:55:01 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:73ae111cf86f
1 .\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.22)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings. \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 . ds -- \(*W-
28 . ds PI pi
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31 . ds L" ""
32 . ds R" ""
33 . ds C` ""
34 . ds C' ""
35 'br\}
36 .el\{\
37 . ds -- \|\(em\|
38 . ds PI \(*p
39 . ds L" ``
40 . ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD. Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 . de IX
53 . tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 . nr % 0
56 . rr F
57 .\}
58 .el \{\
59 . de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
65 . \" fudge factors for nroff and troff
66 .if n \{\
67 . ds #H 0
68 . ds #V .8m
69 . ds #F .3m
70 . ds #[ \f1
71 . ds #] \fP
72 .\}
73 .if t \{\
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 . ds #V .6m
76 . ds #F 0
77 . ds #[ \&
78 . ds #] \&
79 .\}
80 . \" simple accents for nroff and troff
81 .if n \{\
82 . ds ' \&
83 . ds ` \&
84 . ds ^ \&
85 . ds , \&
86 . ds ~ ~
87 . ds /
88 .\}
89 .if t \{\
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 . \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 . \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 . \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 . ds : e
114 . ds 8 ss
115 . ds o a
116 . ds d- d\h'-1'\(ga
117 . ds D- D\h'-1'\(hy
118 . ds th \o'bp'
119 . ds Th \o'LP'
120 . ds ae ae
121 . ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "VECTOR 1"
127 .TH VECTOR 1 "2015-03-29" "perl v5.14.2" "MayaChemTools"
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 Vector
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 use Vector;
137 .PP
138 use Vector qw(:all);
139 .SH "DESCRIPTION"
140 .IX Header "DESCRIPTION"
141 \&\fBVector\fR class provides the following methods:
142 .PP
143 new, AddValues, Copy, GetLength, GetMagnitude, GetNumOfNonZeroValues,
144 GetPercentOfNonZeroValues, GetSize, GetValue, GetValues, GetX, GetXYZ, GetY,
145 GetZ, IsVector, Normalize, SetValue, SetValuePrintFormat,
146 SetX, SetXYZ, SetY, SetZ, StringifyVector, IsVector
147 .PP
148 The following functions are available:
149 .PP
150 IsVector, SetValuePrintFormat UnitXVector, UnitYVector, UnitZVector, UnitVector,
151 ZeroVector
152 .PP
153 The following operators are overloaded:
154 .PP
155 .Vb 7
156 \& "" 0+ bool
157 \& @{}
158 \& + \- * / %
159 \& x .
160 \& == != < <= > >=
161 \& neg
162 \& abs exp log sqrt cos sin
163 .Ve
164 .SS "\s-1FUNCTIONS\s0"
165 .IX Subsection "FUNCTIONS"
166 .IP "\fBnew\fR" 4
167 .IX Item "new"
168 .Vb 4
169 \& $NewVector = new Vector();
170 \& $NewVector = new Vector(@Values);
171 \& $NewVector = new Vector(\e@Values);
172 \& $NewVector = new Vector($AnotherVector);
173 .Ve
174 .Sp
175 Creates a new \fBVector\fR object containing \fIValues\fR and returns \fBNewVector\fR object.
176 In case no \fIValues\fR are specified, an empty \fBVector\fR is created.
177 .IP "\fBAddValues\fR" 4
178 .IX Item "AddValues"
179 .Vb 3
180 \& $Vector\->AddValues(@Values);
181 \& $Vector\->AddValues(\e@Values);
182 \& $Vector\->AddValues($AnotherVector);
183 .Ve
184 .Sp
185 Adds values to \fIVector\fR using an array, reference to an array or another vector and returns
186 \&\fIVector\fR.
187 .IP "\fBCopy\fR" 4
188 .IX Item "Copy"
189 .Vb 1
190 \& $NewVector = $Vector\->Copy();
191 .Ve
192 .Sp
193 Creates a copy of \fIVector\fR and returns \fINewVector\fR.
194 .IP "\fBGetLength\fR" 4
195 .IX Item "GetLength"
196 .Vb 1
197 \& $Length = $Vector\->GetLength();
198 .Ve
199 .Sp
200 Returns \fILengh\fR of a 3D \fIVector\fR corresponding to its dot product.
201 .IP "\fBGetMagnitude\fR" 4
202 .IX Item "GetMagnitude"
203 .Vb 1
204 \& $Length = $Vector\->GetMagnitude();
205 .Ve
206 .Sp
207 Returns \fILengh\fR of a 3D \fIVector\fR corresponding to its dot product.
208 .IP "\fBGetNumOfNonZeroValues\fR" 4
209 .IX Item "GetNumOfNonZeroValues"
210 .Vb 1
211 \& $Value = $Vector\->GetNumOfNonZeroValues();
212 .Ve
213 .Sp
214 Returns number of non-zero values in \fIVector\fR.
215 .IP "\fBGetPercentOfNonZeroValues\fR" 4
216 .IX Item "GetPercentOfNonZeroValues"
217 .Vb 1
218 \& $Value = $Vector\->GetPercentOfNonZeroValues();
219 .Ve
220 .Sp
221 Returns percent of non-zero values in \fIVector\fR.
222 .IP "\fBGetSize\fR" 4
223 .IX Item "GetSize"
224 .Vb 1
225 \& $Size = $Vector\->GetSize();
226 .Ve
227 .Sp
228 Returns size of a \fIVector\fR corresponding to number of its values.
229 .IP "\fBGetValue\fR" 4
230 .IX Item "GetValue"
231 .Vb 1
232 \& $Value = $Vector\->GetValues($Index);
233 .Ve
234 .Sp
235 Returns vector \fBValue\fR specified using \fIIndex\fR starting at 0.
236 .IP "\fBGetValues\fR" 4
237 .IX Item "GetValues"
238 .Vb 2
239 \& @Values = $Vector\->GetValues();
240 \& $ValuesRef = $Vector\->GetValues();
241 .Ve
242 .Sp
243 Returns an array or a reference to an array containing all \fIVector\fR values.
244 .IP "\fBGetX\fR" 4
245 .IX Item "GetX"
246 .Vb 1
247 \& $X = $Vector\->GetX();
248 .Ve
249 .Sp
250 Returns \fBX\fR value of a 3D \fIVector\fR
251 .IP "\fBGetXYZ\fR" 4
252 .IX Item "GetXYZ"
253 .Vb 2
254 \& @XYZValues = $Vector\->GetXYZ();
255 \& $XYZValuesRef = $Vector\->GetXYZ();
256 .Ve
257 .Sp
258 Returns \fB\s-1XYZ\s0\fR values of a 3D \fIVector\fR as an array or a reference to an array
259 containing the values.
260 .IP "\fBGetY\fR" 4
261 .IX Item "GetY"
262 .Vb 1
263 \& $Y = $Vector\->GetY();
264 .Ve
265 .Sp
266 Returns \fBY\fR value of a 3D \fIVector\fR.
267 .IP "\fBGetZ\fR" 4
268 .IX Item "GetZ"
269 .Vb 1
270 \& $Z = $Vector\->GetZ();
271 .Ve
272 .Sp
273 Returns \fBZ\fR value of a 3D \fIVector\fR.
274 .IP "\fBIsVector\fR" 4
275 .IX Item "IsVector"
276 .Vb 1
277 \& $Status = Vector::IsVector($Object);
278 .Ve
279 .Sp
280 Returns 1 or 0 based on whether \fIObject\fR is a \fBVector\fR object.
281 .IP "\fBNormalize\fR" 4
282 .IX Item "Normalize"
283 .Vb 1
284 \& $Vector\->Normalize();
285 .Ve
286 .Sp
287 Normalizes a 3D \fIVector\fR by dividing its values by the length and returns \fIVector\fR.
288 .IP "\fBSetValue\fR" 4
289 .IX Item "SetValue"
290 .Vb 1
291 \& $Vector\->SetValue($Index, $Value);
292 .Ve
293 .Sp
294 Sets a \fIVector\fR value specified by \fIIndex\fR to \fIValue\fR and returns \fIVector\fR.
295 .IP "\fBSetValuePrintFormat\fR" 4
296 .IX Item "SetValuePrintFormat"
297 .Vb 2
298 \& $Vector\->SetValuePrintFormat($ValuePrintFormat);
299 \& Vector::SetValuePrintFormat($ValuePrintFormat);
300 .Ve
301 .Sp
302 Sets format for printing vector values for a specified \fIVector\fR or the whole class. Default
303 format: \fI\f(CI%g\fI\fR.
304 .IP "\fBSetX\fR" 4
305 .IX Item "SetX"
306 .Vb 1
307 \& $Vector\->SetX($Value);
308 .Ve
309 .Sp
310 Sets \fBX\fR value of a 3D vector to \fIValue\fR and returns \fIVector\fR.
311 .IP "\fBSetXYZ\fR" 4
312 .IX Item "SetXYZ"
313 .Vb 3
314 \& $Vector\->SetXYZ(@Values);
315 \& $Vector\->SetXYZ(\e@Values);
316 \& $Vector\->SetXYZ($AnotherVector);
317 .Ve
318 .Sp
319 Sets \fB\s-1XYZ\s0\fR values of a 3D vector and returns \fIVector\fR.
320 .IP "\fBSetY\fR" 4
321 .IX Item "SetY"
322 .Vb 1
323 \& $Vector\->SetY($Value);
324 .Ve
325 .Sp
326 Sets \fBY\fR value of a 3D vector to \fIValue\fR and returns \fIVector\fR.
327 .IP "\fBSetZ\fR" 4
328 .IX Item "SetZ"
329 .Vb 1
330 \& $Vector\->SetZ($Value);
331 .Ve
332 .Sp
333 Sets \fBZ\fR value of a 3D vector to \fIValue\fR and returns \fIVector\fR.
334 .IP "\fBStringifyVector\fR" 4
335 .IX Item "StringifyVector"
336 .Vb 1
337 \& $String = $Vector\->StringifyVector();
338 .Ve
339 .Sp
340 Returns a string containing information about \fIVector\fR object.
341 .IP "\fBUnitVector\fR" 4
342 .IX Item "UnitVector"
343 .Vb 2
344 \& $UnitVector = UnitVector([$Size]);
345 \& $UnitVector = Vector::UnitVector([$Size]);
346 .Ve
347 .Sp
348 Returns a \fBUnitVector\fR of \fISize\fR. Default size: \fI3\fR.
349 .IP "\fBUnitXVector\fR" 4
350 .IX Item "UnitXVector"
351 .Vb 1
352 \& $UnitXVector = UnitXVector();
353 .Ve
354 .Sp
355 Returns a 3D \fBUnitXVector\fR.
356 .IP "\fBUnitYVector\fR" 4
357 .IX Item "UnitYVector"
358 .Vb 1
359 \& $UnitYVector = UnitYVector();
360 .Ve
361 .Sp
362 Returns a 3D \fBUnitYVector\fR.
363 .IP "\fBUnitZVector\fR" 4
364 .IX Item "UnitZVector"
365 .Vb 1
366 \& $UnitZVector = UnitZVector();
367 .Ve
368 .Sp
369 Returns a 3D \fBUnitZVector\fR.
370 .IP "\fBZeroVector\fR" 4
371 .IX Item "ZeroVector"
372 .Vb 2
373 \& $UnitVector = ZeroVector([$Size]);
374 \& $UnitVector = Vector::ZeroVector([$Size]);
375 .Ve
376 .Sp
377 Returns a \fBZeroVector\fR of \fISize\fR. Default size: \fI3\fR.
378 .SH "AUTHOR"
379 .IX Header "AUTHOR"
380 Manish Sud <msud@san.rr.com>
381 .SH "SEE ALSO"
382 .IX Header "SEE ALSO"
383 BitVector.pm
384 .SH "COPYRIGHT"
385 .IX Header "COPYRIGHT"
386 Copyright (C) 2015 Manish Sud. All rights reserved.
387 .PP
388 This file is part of MayaChemTools.
389 .PP
390 MayaChemTools is free software; you can redistribute it and/or modify it under
391 the terms of the \s-1GNU\s0 Lesser General Public License as published by the Free
392 Software Foundation; either version 3 of the License, or (at your option)
393 any later version.