moveto.gdsn {gdsfmt} | R Documentation

## Relocate a GDS node

### Description

Move a GDS node to a new place in the same file

### Usage

    moveto.gdsn(node, loc.node,
        relpos = c("after", "before", "replace", "replace+rename"))

### Arguments

`node` | an object of class `gdsn.class` (a GDS node)
`loc.node` | an object of class `gdsn.class` (a GDS node), indicates the new location
`relpos` | `"after"`: after `loc.node`, `"before"`: before `loc.node`, `"replace"`: replace `loc.node` (`loc.node` will be deleted); `"replace+rename"`: replace `loc.node` (`loc.node` will be deleted and `node` has a new name as `loc.node`)

### Value

None.

### Author(s)

Xiuwen Zheng

### References

http://github.com/zhengxwen/gdsfmt

### See Also

`createfn.gds`, `openfn.gds`, `index.gdsn`, `add.gdsn`

### Examples

    # cteate a GDS file
    f <- createfn.gds("test.gds")
    L <- -2500:2499

    # commom types

    add.gdsn(f, "label", NULL)
    add.gdsn(f, "int", 1:10000, compress="ZIP", closezip=TRUE)
    add.gdsn(f, "int.matrix", matrix(L, nrow=100, ncol=50))
    add.gdsn(f, "double", seq(1, 1000, 0.4))
    add.gdsn(f, "character", c("int", "double", "logical", "factor"))

    f
    # +     [  ]
    # |--+ label
    # |--+ int  { Int32 10000 ZIP(34.74%) }
    # |--+ int.matrix   { Int32 100x50 }
    # |--+ double   { Float64 2498 }
    # |--+ character    { VStr8 4 }

    n1 <- index.gdsn(f, "label")
    n2 <- index.gdsn(f, "double")

    moveto.gdsn(n1, n2, relpos="after")
    f

    moveto.gdsn(n1, n2, relpos="before")
    f

    moveto.gdsn(n1, n2, relpos="replace")
    f

    n2 <- index.gdsn(f, "int")
    moveto.gdsn(n1, n2, relpos="replace+rename")
    f

    # close the GDS file
    closefn.gds(f)

    # delete the temporary file
    unlink("test.gds", force=TRUE)

[Package gdsfmt version 1.28.1 Index]