VecIdPt3D Class Function Manual


(   )

| HOME | BACK |

Purpose

To get a value of an element at a particular index in a Vector.  The return result is a IdPt3D object.

The first element index is 0, and the last one is n-1, where n is no of total elements.

Class

VecIdPt3D

Usage

{IdPt3D} ret  =  object({int} argm1)

argm1 = index number

Example:

->v = VecIdPt3D(5)

->v.pushback(IdPt3D(1,10,20,30))

->v.pushback(IdPt3D(2,20,20,30))

->v.pushback(IdPt3D(3,20,30,30))

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v(0)

ans
= 1 ( 10.000 , 20.000 , 30.000) 0.100

->

See also (class function)

init

| HOME | BACK |


CONFORMAL

| HOME | BACK |

Purpose

To perform 3D conformal coordinate transformation.

The mathematic model is as follow:

E = scale*(m11*x + m21*y + m31*z) + Cx
N
= scale*(m12*x + m22*y + m32*z) + Cy
H
= scale*(m13*x + m23*y + m33*z) + Cz

Right hand side system => x, y, z
Left hand side system  => E, N, H

The rotation matrix in the model is to rotate from the right hand side coordinate system to the left hand side coordinate system.  This is the transpose of the rotation matrix provided by function "Rxyz" of class matrix.

If the value of standard deviation of the old system, right side of the equation, is zero, the right hand side coordinate system will be kept fix.  If it is not zero, an appropriate value of standard deviation of the left hand side coordinate system is essential.

Standard deviation of coordinates of the left hand side coordinate system must be always given, otherwise a default value will be used.

The calling Vector, VecIdPt3D, is treated as coordinates in the Right hand side system.  The corresponding coordinate in the Left hand side system is given as an argument in the function.

Upon request, an ASCII text file is generated after the calculation is done.  Also a matrix containing transformation parameters and all related information are return to the user.  This matrix is is actually where the information in the report is from.

 Return matrix consists of (from left to right)
-parameter vector (a, b, Cx, Cy)
-residual vector (v1, v2, ..., vn)
-Rms value (one single value)
-nverse of Normal matrix (covariance matrix of parameters)
-point number

   By comparing the returning matrix to the report, the user can easily figure out what output information is represented by which part of the matrix.

Class

VecIdPt3D

Usage

{Matrix} ret = object.CONFORMAL({int} argm1,[{int} argm2])

argm1 = list of point with ID and SD, in the Left hand side coordinate system

argm2 = output file  (if not given, there will be no output file)

Example:

->M = v.conformal(v1, "my_report")

->

See also (class function)

transform

| HOME | BACK |


EXTEND

| HOME | BACK |

Purpose

To increase the maximum size of the vector by a given number.

Class

VecIdPt3D

Usage

{void} object.EXTEND({int} argm1)

argm1 = number of elements wanted to extend

Example:

->v = VecIdPt3D(5)

->v.maxsize()

  ans
= 5

->v.extend(500)

->v.maxsize()

  ans
= 505

->

See also (class function)

maxsize, truncate

| HOME | BACK |


FIND

| HOME | BACK |

Purpose

To find in a vector object a particular value of element.  This function only compares the ID number of points.  It does not take into account values of x y z coordinates.

The return result is an index of the vector, if found, otherwise it returns -1.

Class

VecIdPt3D

Usage

{int} ret  =  object.FIND({IdPt3D} argm1)

argm1 = value of an element wanted to find

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.find(IdPt3D(1,0,0,0))

ans
= 0

->

See also (class function)

qfind

| HOME | BACK |


ID

| HOME | BACK |

Purpose

To report the current ID of the vector.

Class

VecIdPt3D

Usage

{int} ret  =  object.ID()

Example:

->v = VecIdPt3D(5)

->v.id()

  ans
=   0

->

See also (class function)

maxsize, truncate, extend

| HOME | BACK |


INIT

| HOME | BACK |

Purpose

To initialize a vector object. 

Please be aware that once the vector is initialized, it is still empty.  Only its maximum number of element in the vector is declared.  Use function "pushback" to insert element into a vector.

Class

VecIdPt3D

Usage

{void} object.INIT({int} argm1)

argm1 = number of maximum elements in the vector

Example:

->v = VecIdPt3D()

->v.init(500)

->

See also (class function)

pushback

| HOME | BACK |


LOAD

| HOME | BACK |

Purpose

To read data from an ASCII file and stored in a VecIdPt3D object.

If file name extension is omitted, the function will add default extensions to the files.  The default extension of an ASCII data file is ".txt".

Unless the path name is given in the file names, the function will search for the files in the current working directory, defined by command "set path".

It is important to make sure that the each line in the file has only 4 or 5 fields, the first is read as index ID, the second the third and and the fourth are x y and z coordinates.  The fifth field, if any, is standard deviation.  All of them are separated by at least one blank, a white space, ASCII 32.

It is possible to have a comment line in the data file, by inserting a slash sign, "/", in front of a line.  Comment lines will not be read by the function.

Class

VecIdPt3D

Usage

{void} object.LOAD({String} argm1)

argm1 = data filename (default extension is ".txt")

Example:

->v = VecIdPt3D()

->v.load("my_data")

->

See also (class function)

save

| HOME | BACK |


LOADSCH

| HOME | BACK |

Purpose

To search for a particular ID block number, then read a block of data out from an ASCII file and stored in a VecIdPt3D object.

If file name extension is omitted, the function will add default extensions to the files.  The default extension of an ASCII data file is ".txt".

Unless the path name is given in the file names, the function will search for the files in the current working directory, defined by command "set path".

Each line in the data file can either has one field or two fields.  If it has 2 fields, they are separated by at least one blank, a white space, ASCII 32, and the first one is read as row number, while the second one is column number.  A line with one field is interpreted as an ID.

An example of data is:

 

/ an example of data store in a file

101

1  10.000  20.000 30.000  0.100

2  20.000  20.000 30.00 0.100

3  30.000  20.000 30.00 0.100

102

4  15.000  20.000 30.000 0.100

5  16.000  30.000 30.000 0.100

6  17.000  40.000 30.000 0.100

103

5  16.000  20.000 30.000 0.100

/...

/... more

 

By using this function "loadsch", it is possible to store separate sets of data in one file, and be able to extract a particular data set within that file.  Each data set must have its own unique ID, for example 101, 102, 103 (see example above).

It is possible to have a comment line in the data file, by inserting a slash sign, "/", in front of a line.  Comment lines will not be read by the function.

Class

VecIdPt3D

Usage

{void} object.LOADSCH({String} argm1, {int} argm2)

argm1 = data filename (default extension is ".txt")

argm2 = Block ID (default is the calling vector block ID)

Example:

->v = VecIdPt3D()

->v.loadsch("my_data", 101)

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->

See also (class function)

load

| HOME | BACK |


MATRIX

| HOME | BACK |

Purpose

To convert to a Matrix object. 

This function creates a Matrix of size n rows by 4 columns, where n is number of indices in the vector.

Class

VecIdPt3D

Usage

{Matrix} ret  =  object.MATRIX()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->M = v.matrix()

->print M


no of row   
: 3
no of column
: 5

 0
:   1.00000 10.00000 20.00000 30.00000 0.10000
 1
:   2.00000 20.00000 20.00000 30.00000 0.10000
 2
:   3.00000 20.00000 30.00000 30.00000 0.10000


->

See also (class function)

 

| HOME | BACK |


MAX

| HOME | BACK |

Purpose

To compute the maximum value of elements in the vector.

The return result is a Pt3D object, where the x coordinate is the maximum value of x coordinates, y coordinate is that of y coordinates and z coordinate is that of z coordinates.

Class

VecIdPt3D

Usage

{Pt3D} ret  =  object.MAX()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.max()

ans
= ( 20.000 , 30.000 , 30.000)

->

See also (class function)

min, mean

| HOME | BACK |


MAXSIZE

| HOME | BACK |

Purpose

To report the maximum size of the vector.  This is the maximum number of elements that can be stored in the vector.

Class

VecIdPt3D

Usage

{int} ret  =  object.MAXSIZE()

Example:

->v = VecIdPt3D(5)

->v.maxsize()

  ans
=   5

->

See also (class function)

size, truncate, extend

| HOME | BACK |


MEAN

| HOME | BACK |

Purpose

To compute the mean value of indices in the vector.

The return result is a Pt3D object, where the x coordinate is the mean value of x coordinates, y coordinate is that of y coordinates and z coordinate is that of z coordinates.

Class

VecIdPt3D

Usage

{Pt2D} ret  =  object.MEAN()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.mean()

ans
= ( 16.667 , 23.333 , 30.000)

->

See also (class function)

min, max

| HOME | BACK |


MIN

| HOME | BACK |

Purpose

To compute the minimum value of elements in the vector.

The return result is a Pt3D object, where the x coordinate is the minimum value of x coordinates, y coordinate is that of y coordinates and z coordinate is that of z coordinates.

Class

VecIdPt3D

Usage

{Pt2D} ret  =  object.MIN()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.min()

ans
= ( 10.000 , 20.000 , 30.000)

->

See also (class function)

max, mean

| HOME | BACK |


NEAREST

| HOME | BACK |

Purpose

To search for points that are nearest to a given point.  This function performs a two-dimensional search.  Hence it does not take into account z coordinates.

Class

VecIdPt3D

Usage

{VecIdPt3D} ret = object.NEAREST({double} argm1,{double} argm2,{int} argm3)

argm1 = given x coordinate

argm2 = given y coordinate

argm3 = no of points being wanted

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.nearest(0,0,2)

ans
=
List of 3D ID
-Point...

list id :
0

Vector size
: 2

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100

->

See also (class function)

 

| HOME | BACK |


PUSHBACK

| HOME | BACK |

Purpose

To insert an IdPt3D in a vector object.  A new element will be insert at the last available index in the vector.

Suppose the vector has already 4 element in it, when a new element is inserted, the size is updated to 5 and the new element is stored at index number 4.  The first element index is 0, and the last one is n-1, where n is no of total elements.

Class

VecIdPt3D

Usage

{void} object.PUSHBACK({IdPt3D} argm1)

argm1 = an 3D point with ID being inserted

Example:

->v = VecIdPt3D(5)

->v.pushback(IdPt3D(1,10,20,30))

->v.pushback(IdPt3D(2,20,20,30))

->v.pushback(IdPt3D(3,20,30,30))

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->

See also (class function)

init

| HOME | BACK |


QFIND

| HOME | BACK |

Purpose

To find in a vector object a particular value of element.  This function expects that the content of the vector is already sorted, or otherwise it will not work correctly.

This function only compares the ID number of the index.  It does not take into account values of x y coordinates.

It performs a binary searching which is much faster than using the function "find".

The return result is an index of the vector, if found, otherwise it returns -1.

Class

VecIdPt3D

Usage

{int} ret  =  object.FIND({IdPt2D} argm1)

argm1 = value of an element wanted to find

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.qfind(IdPt3D(1,0,0,0))

ans
= 0

->

See also (class function)

find

| HOME | BACK |


REMALL

| HOME | BACK |

Purpose

To empty the content of the vector. 

This function can be used to reset the vector very quick.  It simply sets the size of the vector to zero.  It does not do any memory initialization.

Class

VecIdPt3D

Usage

{void} object.REMALL()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.remall()

->print v

->

See also (class function)

remove, remsort

| HOME | BACK |


REMOVE

| HOME | BACK |

Purpose

To remove an element at a particular index out of the vector.

This function replaces the content at the required index with the last element, and simply reduces the size of the vector by 1.

Class

VecIdPt3D

Usage

{void} object.REMOVE({int} argm1)

argm1 = index at which the element being removed

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100


->v.remove(0)

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 2

3
( 20.000 , 30.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100


->

See also (class function)

remall, remsort

| HOME | BACK |


REMSORT

| HOME | BACK |

Purpose

To remove a group of elements, specified by a starting index and ending index, out of the vector.  This function will fill up the gap by shift the rest of the content of the vector forward.

Class

VecIdPt3D

Usage

{void} object.REMSORT({int} argm1,[{int} argm1])

argm1 = start index at which the element being removed

argm2 = ending index at which the element being removed

        (default = the same index as the start index)

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.remsort(0)

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 2

2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->

See also (class function)

remall, remove

| HOME | BACK |


SAVE

| HOME | BACK |

Purpose

To save as ASCII format.  Each line in the output file represents an element in the vector.

if a file name extension is not given, the function assumes an extension of ".txt".

if a path name is not include in the specified file name, the function will search in the current data path, set by command "set path".

Class

VecIdPt3D

Usage

{void} object.SAVE({String} argm1)

argm1 = output file name

Example:

->v.save("my_data")

->

See also (class function)

load, loadsch

| HOME | BACK |


SET_SD

| HOME | BACK |

Purpose

To value of standard deviation of all elements in a vector.

Class

VecIdPt3D

Usage

{void} object.SET_SD({double} argm1)

argm1 = value of standard deviation being set

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->v.set_sd(1.5)

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 1.500
2
( 20.000 , 20.000 , 30.000) 1.500
3
( 20.000 , 30.000 , 30.000) 1.500

->

See also (class function)

 

| HOME | BACK |


SCALE

| HOME | BACK |

Purpose

To multiply coordinates of all point in the vector by constants.

Class

VecIdPt3D

Usage

{void} object.SCALE({double} argm1,{double} argm2,{double} argm3)

argm1 = scale in x direction    

argm2 = scale in y direction 

argm3 = scale in z direction 

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 1.500
2
( 20.000 , 20.000 , 30.000) 1.500
3
( 20.000 , 30.000 , 30.000) 1.500

->v.shift(100,200,300)

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 1000.000 , 4000.000 , 9000.000) 1.500
2
( 2000.000 , 4000.000 , 9000.000) 1.500
3
( 3000.000 , 6000.000 , 9000.000) 1.500

->

See also (class function)

 

| HOME | BACK |


 

SHIFT

| HOME | BACK |

Purpose

To shift the coordinates by a specific amount in x y and z direction.

Class

VecIdPt3D

Usage

{void} object.SHIFT({double} argm1,{double} argm2,{double} argm3)

argm1 = shift in x direction    

argm2 = shift in y direction 

argm3 = shift in z direction 

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 1.500
2
( 20.000 , 20.000 , 30.000) 1.500
3
( 20.000 , 30.000 , 30.000) 1.500

->v.shift(100,200,300)

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 110.000 , 220.000 , 330.000) 1.500
2
( 120.000 , 220.000 , 330.000) 1.500
3
( 120.000 , 230.000 , 330.000) 1.500

->

See also (class function)

 

| HOME | BACK |


SIZE

| HOME | BACK |

Purpose

To report the current size of the vector.  This is the current number of elements in the vector.

Class

VecIdPt3D

Usage

{int} ret  =  object.SIZE()

Example:

->v = VecIdPt3D(5)

->v.size()

  ans
=   0

->

See also (class function)

maxsize, truncate, extend

| HOME | BACK |


SORT

| HOME | BACK |

Purpose

To sort elements of a vector by using Shell sort.

Elements in a vector are sorted by their ID numbers.

Class

VecIdPt3D

Usage

{VecIdPt2D} ret  =  object.SORT()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 20.000 , 30.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
1
( 10.000 , 20.000 , 30.000) 0.100

->v1 = v.sort()

->print v1

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100

->

See also (class function)

qfind

| HOME | BACK |


SORT_X

| HOME | BACK |

Purpose

To sort elements of a vector by using Shell sort.

Elements in a vector are sorted by their x coordinates.  The function does not take into account y and z coordinates.  In some situations, the user might need to swapping coordinates and sorting more than one.

Class

VecIdPt3D

Usage

{VecIdPt3D} ret  =  object.SORT_X()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 20.000 , 30.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
1
( 10.000 , 20.000 , 30.000) 0.100

->v1 = v.sort_x()

->print v1

List of 3D ID
-Point...

list id :
0

Vector size
: 3

1
( 10.000 , 20.000 , 30.000) 0.100
3
( 20.000 , 30.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100

->

See also (class function)

sort, swap_xy, swap_xz, swap_yz

| HOME | BACK |


SWAP_XY

| HOME | BACK |

Purpose

To swap x and y coordinates of all points in the vector.

Class

VecIdPt3D

Usage

{void} object.SWAP_XY()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 20.000 , 30.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
1
( 10.000 , 20.000 , 30.000) 0.100

->v.swap_xy()

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 30.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
1
( 20.000 , 10.000 , 30.000) 0.100

->

See also (class function)

shift

| HOME | BACK |


SWAP_XZ

| HOME | BACK |

Purpose

To swap x and z coordinates of all points in the vector.

Class

VecIdPt3D

Usage

{void} object.SWAP_XZ()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 30.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
1
( 20.000 , 10.000 , 30.000) 0.100

->v.swap_xz()

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 30.000 , 20.000 , 30.000) 0.100
2
( 30.000 , 20.000 , 20.000) 0.100
1
( 30.000 , 10.000 , 20.000) 0.100

->

See also (class function)

shift

| HOME | BACK |


SWAP_YZ

| HOME | BACK |

Purpose

To swap y and z coordinates of all points in the vector.

Class

VecIdPt3D

Usage

{void} object.SWAP_YZ()

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 30.000 , 20.000 , 30.000) 0.100
2
( 30.000 , 20.000 , 20.000) 0.100
1
( 30.000 , 10.000 , 20.000) 0.100

->v.swap_yz()

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 30.000 , 30.000 , 20.000) 0.100
2
( 30.000 , 20.000 , 20.000) 0.100
1
( 30.000 , 20.000 , 10.000) 0.100

->

See also (class function)

shift

| HOME | BACK |


TRANSFORM

| HOME | BACK |

Purpose

To transform coordinates of points in the calling object, to a new system using a set of given transformation parameters.

There are 7 parameters requited for 3D conformal transformation, and the order of parameters will be the same as that in the transformation report, generated by function "conformal".

Please pay attention to the rotation angles.  They are angles to rotate the left hand side system of the equation to the right hand side system.

Class

VecIdPt3D

Usage

{VecIdPt2D} ret = object.TRANSFORM({Vector} argm1)

argm1 = list of transformation parameters

Example:

->Vec_new = v.transform(para)

->

See also (class function)

conformal

| HOME | BACK |


TRUNCATE

| HOME | BACK |

Purpose

To trim out all the empty space of the current vector.

Suppose a vector has 5 elements in it, and its max size is 500, once it is trimmed, the max size is reduced to 5.  This function does a new memory initialization.

Class

VecIdPt3D

Usage

{void} object.TRUNCATE()

argm1 = number of elements wanted to extend

Example:

->v = VecIdPt3D(5)

->v.maxsize()

  ans
= 5

->v.truncate()

->v.maxsize()

  ans
= 0

->

See also (class function)

maxsize, extend

| HOME | BACK |


WINDOW

| HOME | BACK |

Purpose

To extract a portion of a vector, specified by a starting index and ending index.

Class

VecIdPt3D

Usage

{VecIdPt3D} ret  =  object.WINDOW({int} argm1,{int} argm2)

argm1 = start index at which the element being extracted

argm2 = ending index at which the element being extracted

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 30.000 , 30.000 , 20.000) 0.100
2
( 30.000 , 20.000 , 20.000) 0.100
1
( 30.000 , 20.000 , 10.000) 0.100

->v1 = v.window(1,2)

->print v1

List of 3D ID
-Point...

list id :
0

Vector size
: 2

2
( 30.000 , 20.000 , 20.000) 0.100
1
( 30.000 , 20.000 , 10.000) 0.100

->

See also (class function)

window_x, window_xy

| HOME | BACK |


WINDOW_X

| HOME | BACK |

Purpose

To extract indices that fall within a window range, specified by the starting and ending x coordinates.

This is a one dimensional search.

Class

VecIdPt3D

Usage

{VecIdPt3D} ret  =  object.WINDOW_X({double} argm1,{double} argm2)

argm1 = start x coordinate of the window

argm2 = end x coordinate of the window

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 20.000 , 30.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
1
( 10.000 , 20.000 , 30.000) 0.100

->v1 = v.window_x(20,20)

->print v1

List of 3D ID
-Point...

list id :
0

Vector size
: 2

3
( 20.000 , 30.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100

->

See also (class function)

window, window_xy

| HOME | BACK |


WINDOW_XY

| HOME | BACK |

Purpose

To extract indices that fall within a window, specified by x y coordinates of the lower left and upper right of the window.

This is a two dimensional search.

Class

VecIdPt3D

Usage

{VecIdPt3D} ret  =  object.WINDOW_XY({double} argm1,{double} argm2,{double} argm3,{double} argm4)

argm1 = x coordinate of the lower left corner of window

argm2 = y coordinate of the lower left corner of window

argm3 = x coordinate of the upper right corner of window

argm4 = y coordinate of the upper right corner of window

Example:

->print v

List of 3D ID
-Point...

list id :
0

Vector size
: 3

3
( 20.000 , 30.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100
1
( 10.000 , 20.000 , 30.000) 0.100

->v1 = v.window_xy(10,20,20,20)

->print v1

List of 3D ID
-Point...

list id :
0

Vector size
: 2

1
( 10.000 , 20.000 , 30.000) 0.100
2
( 20.000 , 20.000 , 30.000) 0.100

->

See also (class function)

window, window_x

| HOME | BACK |