Difference between revisions of "Layerservice"
m (→layers) |
(Added verts documentation) |
||
(24 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | = | + | =layerservice= |
Commands are executed and queried directly through the command syntax description previously in this guide, but this doesn’t provide any detailed information about meshes and their related elements. | Commands are executed and queried directly through the command syntax description previously in this guide, but this doesn’t provide any detailed information about meshes and their related elements. | ||
Line 78: | Line 78: | ||
Result: | Result: | ||
[list the layer.??? attribute names] | [list the layer.??? attribute names] | ||
+ | |||
+ | ---- | ||
===layer_groups=== | ===layer_groups=== | ||
Line 95: | Line 97: | ||
Result: | Result: | ||
+ | |||
all<br> | all<br> | ||
fg<br> | fg<br> | ||
− | bg primary main<br> | + | bg<br> |
+ | primary<br> | ||
+ | main<br> | ||
+ | ---- | ||
===layer_elements=== | ===layer_elements=== | ||
Line 115: | Line 121: | ||
Result: | Result: | ||
first last prev next | first last prev next | ||
+ | |||
+ | ---- | ||
===layer_lists=== | ===layer_lists=== | ||
Line 136: | Line 144: | ||
Result: | Result: | ||
+ | |||
kids<br> | kids<br> | ||
part<br> | part<br> | ||
Line 147: | Line 156: | ||
model<br> | model<br> | ||
uv<br> | uv<br> | ||
+ | |||
+ | ---- | ||
===layers=== | ===layers=== | ||
Line 171: | Line 182: | ||
Result: | Result: | ||
1 | 1 | ||
+ | |||
+ | ---- | ||
===layer.name=== | ===layer.name=== | ||
Line 183: | Line 196: | ||
Result: | Result: | ||
Mesh | Mesh | ||
+ | |||
+ | ---- | ||
===layer.index=== | ===layer.index=== | ||
Line 207: | Line 222: | ||
Result: | Result: | ||
2 | 2 | ||
+ | |||
+ | ---- | ||
===layer.curveAngle=== | ===layer.curveAngle=== | ||
Line 219: | Line 236: | ||
Result: | Result: | ||
6.0 | 6.0 | ||
+ | |||
+ | ---- | ||
===layer.parent=== | ===layer.parent=== | ||
Line 231: | Line 250: | ||
Result: | Result: | ||
-1 | -1 | ||
+ | |||
+ | ---- | ||
===layer.childCount=== | ===layer.childCount=== | ||
Line 255: | Line 276: | ||
Result: | Result: | ||
+ | ---- | ||
===layer.pivot=== | ===layer.pivot=== | ||
Line 267: | Line 289: | ||
Result: | Result: | ||
0.0 0.0 0.0 | 0.0 0.0 0.0 | ||
+ | |||
+ | ---- | ||
===layer.bounds=== | ===layer.bounds=== | ||
Line 279: | Line 303: | ||
Result: | Result: | ||
-0.5 -0.5 -0.5 0.5 0.5 0.5 | -0.5 -0.5 -0.5 0.5 0.5 0.5 | ||
+ | |||
+ | ---- | ||
===layer.visible=== | ===layer.visible=== | ||
Line 291: | Line 317: | ||
Result: | Result: | ||
fg | fg | ||
+ | |||
+ | ---- | ||
===layer.model=== | ===layer.model=== | ||
Line 303: | Line 331: | ||
Result: | Result: | ||
c:\Path\Filename.lwo | c:\Path\Filename.lwo | ||
+ | |||
+ | ---- | ||
===layer.id=== | ===layer.id=== | ||
Line 316: | Line 346: | ||
mesh_375A8C59897A | mesh_375A8C59897A | ||
+ | ---- | ||
+ | ===layer.splPatchLevel=== | ||
+ | Return the spline patch level of the layer | ||
− | + | Datatype: | |
− | + | string | |
− | + | ||
− | + | Example: | |
− | + | query layerservice layer.splPatchLevel ? first | |
− | + | ||
− | + | Result: | |
− | + | 16 | |
− | + | ||
− | + | ---- | |
− | + | ||
− | + | ===layer.wpos=== | |
− | + | Return the world position of the layer | |
− | + | ||
− | + | Datatype: | |
− | + | string | |
− | + | ||
− | + | Example: | |
− | + | query layerservice layer.wpos ? first | |
− | + | ||
+ | Result: | ||
+ | |||
+ | 0.1<br> | ||
+ | 0.5<br> | ||
+ | 0.0<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===layer.wbounds=== | ||
+ | ??? | ||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice layer.wbounds ? first | ||
+ | |||
+ | Result: | ||
+ | ??? | ||
+ | |||
+ | ---- | ||
==kids== | ==kids== | ||
− | + | The kid series of attributes are a subset of the layer attributes, and are used to list the children of the a layer. The | |
− | + | ''kid.???'' and ''layer.???'' attributes use the same layer selectors. | |
− | * kid.N | + | The kid attribute itself is use to get the list of available ''kid.???'' attributes. The ''kid_groups'' attribute is used to |
− | + | provide group filters for the other attributes. | |
− | + | ||
− | + | ===kid=== | |
− | + | Get a list of kid attributes. No selection is needed. | |
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice kid ? | ||
+ | |||
+ | Result: | ||
+ | [list the kid.??? attribute names] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===kid_groups=== | ||
+ | Get a list of kid keywords to pass as the selection for the other attributes. No selection is needed. | ||
+ | |||
+ | * ''All:'' Children of all layers. | ||
+ | * ''Fg:'' Children of the foreground layers. | ||
+ | * ''Bg:'' Children of the background layers. | ||
+ | * ''Main:'' Children of the primary layer. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice kid_groups ? | ||
+ | |||
+ | Result: | ||
+ | |||
+ | all<br> | ||
+ | fg<br> | ||
+ | bg<br> | ||
+ | main<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===kids=== | ||
+ | Get a list of selectors for the "kid.???" attributes. These are in the form of absolute indices into the global layer list, and representing the children of the layer selection. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice kids ? main | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===kid.N=== | ||
+ | Get the number of children of the layer selection. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice kid.n ? main | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===kid.name=== | ||
+ | Name of a child of the layer selection. The selection must be one of the keywords returned by layer_element, or a previous layer_element selection must exist. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice kid.name ? first | ||
+ | |||
+ | Result: | ||
+ | Mesh | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===kid.index=== | ||
+ | Index of a child layer in the global layer list. Indices start from 1. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice kid.index ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===kid.layer=== | ||
+ | Get the layer index of the child. Indices start from 1. | ||
+ | |||
+ | Datatype: | ||
+ | index | ||
+ | |||
+ | Example: | ||
+ | query layerservice kid.layer ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===kid.parent=== | ||
+ | Index of a parent of this specific child layer in the global layer list. Returns 0 if the kid has no parent. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice kid.parent ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
==parts== | ==parts== | ||
− | + | The part attributes provide access to the lists of polygons associated with part names. | |
− | + | ||
− | + | The part attribute is use to get the list of available ''part.???'' attributes. The part_groups attribute is used to provide group filters for the other attributes. | |
− | + | ||
− | + | The parts attribute returns a list of possible, specific selectors for the various ''part.???'' attributes, while part.N returns the number of parts in that grouping. Both attributes require a keyword from the part_group attribute as a selector. | |
− | + | ||
+ | The ''part.???'' attributes query specific properties of an individual part. For each, the selector must be a [[Layerservice#layer_elements|layer_elements]] keywords (first, last, prev or next), or a specific selection from a parts query, or simply an index between 0 and part.N. | ||
+ | |||
+ | ===part=== | ||
+ | Get a list of part attributes. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice part ? | ||
+ | |||
+ | Result: | ||
+ | [list the part.??? attribute names] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===part_groups=== | ||
+ | Get a list of group keywords to pass as the selection for the other attributes. No selection is needed. There is currently only one keyword, All, which returns all parts. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice part_groups ? | ||
+ | |||
+ | Result: | ||
+ | all | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===parts=== | ||
+ | Get a list of selectors for the "part.???" attributes. These are provided as absolute indices in the global part list. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice parts ? all | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 0<br> | ||
+ | 1<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===part.N=== | ||
+ | Get the number of parts. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice part.n ? all | ||
+ | |||
+ | Result: | ||
+ | 2 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===part.name=== | ||
+ | Name of a part in the part list. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice part.name ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | Bolt<br> | ||
+ | Nut<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===part.index=== | ||
+ | Index of a part in the part list. Indices start from 0. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice part.index ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===part.layer=== | ||
+ | Get the current layer index, usually of the current mesh. Indices start from 1. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice part.layer ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
==models== | ==models== | ||
Line 375: | Line 649: | ||
'''Result:''' | '''Result:''' | ||
[list of model.??? attribute names] | [list of model.??? attribute names] | ||
+ | |||
+ | ---- | ||
===model_groups=== | ===model_groups=== | ||
Line 389: | Line 665: | ||
'''Result:''' | '''Result:''' | ||
2 | 2 | ||
+ | |||
+ | ---- | ||
===model.name=== | ===model.name=== | ||
Line 401: | Line 679: | ||
'''Result:''' | '''Result:''' | ||
Filename.lxo | Filename.lxo | ||
+ | |||
+ | ---- | ||
===model.index=== | ===model.index=== | ||
Line 413: | Line 693: | ||
'''Result:''' | '''Result:''' | ||
1 | 1 | ||
+ | |||
+ | ---- | ||
===model.layer=== | ===model.layer=== | ||
Line 425: | Line 707: | ||
'''Result:''' | '''Result:''' | ||
1 | 1 | ||
+ | |||
+ | ---- | ||
===model.curName=== | ===model.curName=== | ||
Line 437: | Line 721: | ||
'''Result:''' | '''Result:''' | ||
Filename.lxo | Filename.lxo | ||
+ | |||
+ | ---- | ||
===model.curIndex=== | ===model.curIndex=== | ||
Line 449: | Line 735: | ||
'''Result:''' | '''Result:''' | ||
1 | 1 | ||
+ | |||
+ | ---- | ||
===model.file=== | ===model.file=== | ||
Line 461: | Line 749: | ||
'''Result:''' | '''Result:''' | ||
C:\path\Filename.lwo | C:\path\Filename.lwo | ||
+ | |||
+ | ---- | ||
==materials== | ==materials== | ||
Line 476: | Line 766: | ||
'''Result:''' [list the material.??? attribute names] | '''Result:''' [list the material.??? attribute names] | ||
+ | |||
+ | ---- | ||
===material_groups=== | ===material_groups=== | ||
Line 486: | Line 778: | ||
'''Result:''' all | '''Result:''' all | ||
+ | |||
+ | ---- | ||
===materials depricated?=== | ===materials depricated?=== | ||
Line 496: | Line 790: | ||
'''Result:''' 0 | '''Result:''' 0 | ||
+ | |||
+ | ---- | ||
===material.N=== | ===material.N=== | ||
Line 506: | Line 802: | ||
'''Result:''' 1 | '''Result:''' 1 | ||
+ | |||
+ | ---- | ||
===material.name=== | ===material.name=== | ||
Line 516: | Line 814: | ||
'''Result:''' Default | '''Result:''' Default | ||
+ | |||
+ | ---- | ||
===material.index=== | ===material.index=== | ||
Line 526: | Line 826: | ||
'''Result:''' 0 | '''Result:''' 0 | ||
+ | |||
+ | ---- | ||
===material.layer=== | ===material.layer=== | ||
Line 536: | Line 838: | ||
'''Result:''' 0 | '''Result:''' 0 | ||
+ | |||
+ | ---- | ||
===material.opacity=== | ===material.opacity=== | ||
Line 541: | Line 845: | ||
'''Datatype:''' percent | '''Datatype:''' percent | ||
+ | |||
'''Example:''' | '''Example:''' | ||
query layerservice material.opacity ? 0 | query layerservice material.opacity ? 0 | ||
− | '''Result:''' 1.0 | + | |
+ | '''Result:''' | ||
+ | 1.0 | ||
+ | |||
+ | ---- | ||
===material.color=== | ===material.color=== | ||
Line 555: | Line 864: | ||
'''Result:''' | '''Result:''' | ||
0.8 0.8 0.8 | 0.8 0.8 0.8 | ||
+ | |||
+ | ---- | ||
===material.luminous=== | ===material.luminous=== | ||
Line 567: | Line 878: | ||
'''Result:''' | '''Result:''' | ||
0.0 | 0.0 | ||
+ | |||
+ | ---- | ||
===material.diffuse=== | ===material.diffuse=== | ||
Line 579: | Line 892: | ||
'''Result:''' | '''Result:''' | ||
1.0 | 1.0 | ||
+ | |||
+ | ---- | ||
===material.specular=== | ===material.specular=== | ||
Line 591: | Line 906: | ||
'''Result:''' | '''Result:''' | ||
0.0 | 0.0 | ||
+ | |||
+ | ---- | ||
===material.gloss=== | ===material.gloss=== | ||
Line 603: | Line 920: | ||
'''Result:''' | '''Result:''' | ||
0.3 | 0.3 | ||
+ | |||
+ | ---- | ||
===material.reflect=== | ===material.reflect=== | ||
Line 615: | Line 934: | ||
'''Result:''' | '''Result:''' | ||
0.0 | 0.0 | ||
+ | |||
+ | ---- | ||
===material.transp=== | ===material.transp=== | ||
Line 627: | Line 948: | ||
'''Result:''' | '''Result:''' | ||
0.0 | 0.0 | ||
+ | |||
+ | ---- | ||
===material.transl=== | ===material.transl=== | ||
Line 639: | Line 962: | ||
'''Result:''' | '''Result:''' | ||
0.0 | 0.0 | ||
+ | |||
+ | ---- | ||
===material.refIndex=== | ===material.refIndex=== | ||
Line 651: | Line 976: | ||
'''Result:''' | '''Result:''' | ||
1.0 | 1.0 | ||
+ | |||
+ | ---- | ||
===material.bump=== | ===material.bump=== | ||
Line 663: | Line 990: | ||
'''Result:''' | '''Result:''' | ||
1.0 | 1.0 | ||
+ | |||
+ | ---- | ||
===material.colHigh=== | ===material.colHigh=== | ||
Line 675: | Line 1,004: | ||
'''Result:''' | '''Result:''' | ||
0.0 | 0.0 | ||
+ | |||
+ | ---- | ||
===material.colFilt=== | ===material.colFilt=== | ||
Line 687: | Line 1,018: | ||
'''Result:''' | '''Result:''' | ||
0.0 | 0.0 | ||
+ | |||
+ | ---- | ||
===material.difSharp=== | ===material.difSharp=== | ||
Line 699: | Line 1,032: | ||
'''Result:''' | '''Result:''' | ||
0.0 | 0.0 | ||
+ | |||
+ | ---- | ||
===material.id=== | ===material.id=== | ||
Line 712: | Line 1,047: | ||
textureLayer_01253459C65C | textureLayer_01253459C65C | ||
+ | ---- | ||
===material.textures=== | ===material.textures=== | ||
Line 728: | Line 1,064: | ||
textureLayer_01253459C65C<br> | textureLayer_01253459C65C<br> | ||
texturelayer_14059A598979 | texturelayer_14059A598979 | ||
+ | |||
+ | ---- | ||
==textures== | ==textures== | ||
− | + | The texture attributes are used to obtain the properties of attributes. | |
− | + | ||
− | + | The texture attribute is use to get the list of available texture.??? attributes. The texture_groups attribute is used to | |
− | + | provide group filters for the other attributes. | |
− | + | ||
− | + | The textures attribute returns a list of possible, specific selectors for the various texture.??? attributes, while texture.N returns the number of parts in that grouping. Both attributes require a keyword from the texture_group attribute as a selector. | |
− | + | ||
− | + | The texture.??? attributes query specific properties of an individual texture. For each, the selector must be a layer_elements keyword (first, last, prev or next), or a specific selection from a textures query, or simply an index between 0 and texture.N. | |
− | + | ||
− | + | ===texture=== | |
− | + | Get a list of texture attributes. | |
− | + | ||
− | + | Datatype: | |
− | + | string | |
− | + | ||
− | + | Example: | |
− | + | query layerservice texture ? | |
− | + | ||
− | + | Result: | |
− | + | [list the texture.??? attribute names] | |
− | + | ||
− | + | ---- | |
− | + | ||
− | + | ===texture_groups=== | |
− | + | Get a list of group keywords to pass as the selection for the other attributes. No selection is needed. There is currently only one keyword, All, which returns all textures. | |
− | + | ||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture_groups ? | ||
+ | |||
+ | Result: | ||
+ | all | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===textures=== | ||
+ | Get a list of selectors for the texture.??? attributes, which are absolute indices into the texture list. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture ? all | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 0<br> | ||
+ | 1<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.N=== | ||
+ | Total number of textures. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.n ? all | ||
+ | |||
+ | Result: | ||
+ | 2 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.name=== | ||
+ | Name of a texture in the texture list. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.name ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | Bolt<br> | ||
+ | Nut<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.index=== | ||
+ | Index of a texture in the texture list. Indiices start from 0. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.index ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.layer=== | ||
+ | Get the current layer index, usually of the current mesh. Indices start from 1. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.material ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.id=== | ||
+ | Get the item reference ID of the texture. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.id ? first | ||
+ | |||
+ | Result: | ||
+ | textureLayer_8F767159B978 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.type=== | ||
+ | Get the type name of a texture. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.type ? first | ||
+ | |||
+ | Result: | ||
+ | advancedMaterial | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.channel=== | ||
+ | Get the channel name in the material that the texture is applied to. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.channel ? first | ||
+ | |||
+ | Result: | ||
+ | color | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.opacity=== | ||
+ | Get the texture opacity. | ||
+ | |||
+ | Datatype: | ||
+ | percent | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.opacity ? first | ||
+ | |||
+ | Result: | ||
+ | 0.0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.enable=== | ||
+ | Get the texture enable state. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.enable ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.invert=== | ||
+ | Get the texture inversion state. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.invert ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.blendMode=== | ||
+ | Get the texture blending mode. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.blendMode ? first | ||
+ | |||
+ | Result: | ||
+ | normal | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.position=== | ||
+ | Get the texture position. Returns three distances representing the X, Y and Z position. | ||
+ | |||
+ | Datatype: | ||
+ | distance | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.position ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 3.126<br> | ||
+ | 1.25<br> | ||
+ | 1.0<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.rotation=== | ||
+ | Get the texture rotation. Returns three angles representing the X, Y and Z rotation. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.rotation ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 0.0<br> | ||
+ | 90.0<br> | ||
+ | 0.0<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.scale=== | ||
+ | Get the texture scale. Returns three floats representing the X, Y and Z rotation. | ||
+ | |||
+ | Datatype: | ||
+ | float | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.scale ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 1.0<br> | ||
+ | 1.0<br> | ||
+ | 1.0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.projType=== | ||
+ | Get the texture projection type. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.projType ? first | ||
+ | |||
+ | Result: | ||
+ | planar | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.projAxis=== | ||
+ | Get the texture projection axis. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.projAxis ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.coordSys=== | ||
+ | Get the texture coordinate system, such as particle, object and world. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.coordSys ? first | ||
+ | |||
+ | Result: | ||
+ | object | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.fallType=== | ||
+ | Get the texture falloff type, such as cube, sphere, linearX, linearY, and linearZ. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.falloffType ? first | ||
+ | |||
+ | Result: | ||
+ | cube | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.falloff=== | ||
+ | Get the texture falloff amount. Returns three distances representing the X, Y and Z falloff. | ||
+ | |||
+ | Datatype: | ||
+ | distance | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.falloff ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 1.0<br> | ||
+ | 100.0<br> | ||
+ | 1.0<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.uvName=== | ||
+ | Get the name of the UV map associated with the texture. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.uvName ? first | ||
+ | |||
+ | Result: | ||
+ | My UV Map | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.uvMap=== | ||
+ | Get the index of the UV map associated with the texture. | ||
+ | |||
+ | Datatype: | ||
+ | distance | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.uvMap ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.clip=== | ||
+ | Get the index of the clip applied to the texture. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.clip ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.clipFile=== | ||
+ | texture.clipFile | ||
+ | |||
+ | Description: | ||
+ | Get the path and filename of the clip applied to the texture. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.clipFile ? first | ||
+ | |||
+ | Result: | ||
+ | c:\path\creatureface.tga | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===texture.locator=== | ||
+ | Get the id of the texture locator | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice texture.locator ? first | ||
+ | |||
+ | Result: | ||
+ | txtrLocator024 | ||
+ | |||
+ | ---- | ||
==clips== | ==clips== | ||
− | + | The clip attributes give access to the clip list. | |
− | + | ||
− | + | The clip attribute is use to get the list of available clip.??? attributes. The clip_groups attribute is used to provide group filters for the other attributes. | |
− | + | ||
− | + | The clips attribute returns a list of possible, specific selectors for the various clip.??? attributes, while clip.N returns the number of parts in that grouping. Both attributes require a keyword from the clip_group attribute as a selector. | |
− | + | ||
− | + | The clip.??? attributes query specific properties of an individual clip (image). For each, the selector must be a layer_elements keyword (first, last, prev or next), or a specific selection from a clips query, or simply an index between 0 and clip.N. | |
− | + | ||
− | + | ||
+ | ===clip=== | ||
+ | Get a list of clip attributes. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip ? | ||
+ | |||
+ | Result: | ||
+ | [list the clip.??? attribute names] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clip_groups=== | ||
+ | Get a list of group keywords to pass as the selection for the other attributes. No selection is needed. There is currently only one keyword, All, which returns all clips. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip_groups ? | ||
+ | |||
+ | Result: | ||
+ | all | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clips=== | ||
+ | Get a list of selectors for the clip.??? attributes. These are provided as absolute indices into the clip list. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice clips ? all | ||
+ | |||
+ | Result: | ||
+ | 0 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clip.N=== | ||
+ | Total number of clips. The selection must be one of the keywords returned by clip_groups, or a previous clip_groups selection must exist. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip.n ? all | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clip.name=== | ||
+ | Name of a clip in the clip list. This is often the filename to the image without the path. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip.name ? first | ||
+ | |||
+ | Result: | ||
+ | creatureface.tga | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clip.file=== | ||
+ | Filename of a clip in the clip list, including the full path to the file. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip.file ? first | ||
+ | |||
+ | Result: | ||
+ | c:\path\creatureface.tga | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clip.index=== | ||
+ | Index of a clip in the clip list. | ||
+ | |||
+ | Datatype: | ||
+ | |||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip.index ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clip.layer=== | ||
+ | Get the layer index of the clip. Layer indices start from 1. | ||
+ | |||
+ | Datatype: | ||
+ | index | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip.layer ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clip.id=== | ||
+ | Get the item reference ID of the clip. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip.id ? first | ||
+ | |||
+ | Result: | ||
+ | videoClip_CB383659CFDD | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===clip.info=== | ||
+ | Get some information about the clip. This includes the pixel type, (such as RGB), the width, height, bits per pixel, and pixel aspect ratio. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice clip.info ? first | ||
+ | |||
+ | Result: | ||
+ | RGB w:188 h:120 bpp:8 pa:1 | ||
==vmaps== | ==vmaps== | ||
− | + | The Vertex Map attributes can be used to get the information about vertex maps, or vmaps. | |
− | + | ||
− | + | The vmap attribute is use to get the list of available vmap.??? attributes. The | |
− | * vmap.name | + | vmap_groups attribute is used to provide group filters for the other attributes. |
− | + | ||
− | + | The vmaps attribute returns a list of possible, specific selectors for the various vmap.??? attributes, while vmap.N returns the number of parts in that grouping. | |
− | + | Both attributes require a keyword from the vmap_group attribute as a selector. | |
− | + | ||
− | + | The vmap.??? attributes query specific properties of an individual vertex map. For each, the selector must be a layer_elements keyword (first, last, prev or next), | |
− | + | or a specific selection from a vmaps query, or simply an index between 0 and vmap.N. | |
+ | |||
+ | |||
+ | ===vmap=== | ||
+ | Get a list of vertex map attributes. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap ? first | ||
+ | |||
+ | Result: | ||
+ | [list the vmap.??? attribute names] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmap_groups=== | ||
+ | Get a list of group keywords to pass as the selection for the other attributes. | ||
+ | |||
+ | * ''All:'' All vertex maps. | ||
+ | * ''Selected:'' Selected vertex maps. | ||
+ | * ''Weight:'' All weight maps. | ||
+ | * ''Texture:'' All texture maps. | ||
+ | * ''Subweight:'' All subdivision surface weight maps. | ||
+ | * ''Morph:'' All morph maps. | ||
+ | * ''AbsMorph:'' All absolute morph maps. | ||
+ | * ''RGB:'' All RGB color maps. | ||
+ | * ''RGBA:'' All RGBA color maps. | ||
+ | * ''Normal:'' All vertex normal maps. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap_groups ? | ||
+ | |||
+ | Result: | ||
+ | |||
+ | all<br> | ||
+ | selected<br> | ||
+ | weight<br> | ||
+ | texture<br> | ||
+ | subweight<br> | ||
+ | morph<br> | ||
+ | absmorph<br> | ||
+ | rgb<br> | ||
+ | rgba | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmaps=== | ||
+ | Get a list of selectors for the “vmap.???” attributes. These are in the form of absolute indices into the global vertex map list. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmaps ? all | ||
+ | |||
+ | Result: | ||
+ | 0<br> | ||
+ | 1<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmaps.N=== | ||
+ | Total number of vertex maps. The selection must be one of the keywords returned by vmap_groups, or a previous vmap_groups selection must exist. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap.n ? | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmap.name=== | ||
+ | Name of a vertex map in the vertex map list. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap.name ? first | ||
+ | |||
+ | Result: | ||
+ | Subdivision | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmap.index=== | ||
+ | Index of a vertex map in the vertex map list. Indices start from 0. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap.index ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmap.layer=== | ||
+ | Index of the vertex map in the layer list. Layer indices start from 1. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap.layer ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmap.type=== | ||
+ | Get the type of a vertex map in the vertex map list. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap.type ? first | ||
+ | |||
+ | Result: | ||
+ | subweight | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmap.dim=== | ||
+ | Get the dimensions of a vertex map in the vertex map list. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap.dim ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vmap.selected=== | ||
+ | Returns true if the vertex map is selected | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vmap.selected ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
==verts== | ==verts== | ||
− | + | The vertex attributes provide detailed information about individual vertices in a mesh. | |
− | + | ||
− | * vert.N | + | The vert attribute is used to get the list of available vert.??? attributes. The vert_groups attribute is used to provide group filters for the other attributes. |
− | + | ||
− | + | The verts attribute returns a list of possible, specific selectors for the various vert.??? attributes, while vert.N returns the number of parts in that grouping. Both attributes require a keyword from the vert_group attribute as a selector. | |
− | + | ||
− | + | Before using any of the remaining vertex attributes, you must first select a layer with a layer.??? attribute. The following example selects the first layer, but ''first'' can be replaced with a specific index or any of the layer_element keywords as described in the layer.index documentation above. | |
− | + | ||
− | + | query layerservice layer.index ? first | |
− | + | ||
− | + | ===vert=== | |
− | + | ||
− | + | Get a list of vertex attributes. | |
− | + | ||
− | + | Datatype: | |
− | + | string | |
− | + | ||
− | + | Example: | |
− | + | query layerservice vert ? | |
− | + | ||
− | + | Result: | |
+ | [list the vert.??? attribute names] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert_groups=== | ||
+ | |||
+ | Get a list of group keywords to pass as the selection for the other attributes. | ||
+ | |||
+ | * ''Selected:'' Selected vertices. | ||
+ | * ''Unselected:'' Unselected vertices. | ||
+ | * ''All:'' All vertices. | ||
+ | * ''Visible:'' All vertices that are not hidden. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert_groups ? | ||
+ | |||
+ | Result: | ||
+ | |||
+ | all | ||
+ | selected | ||
+ | unselected | ||
+ | visible | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===verts=== | ||
+ | |||
+ | Get a list of selectors for the vert.??? attributes, provided in the form of absolute vertex indices. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice verts ? all | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 0<br> | ||
+ | 1<br> | ||
+ | 2<br> | ||
+ | 3<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.N=== | ||
+ | |||
+ | Get the number of vertices in the grouping. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.N ? selected | ||
+ | |||
+ | Result: | ||
+ | 4 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.name=== | ||
+ | |||
+ | Get the "name" of a vertex. This name is in the form of layer index:vertex index. For example the tenth vertex in the third layer has the name 3:10. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.name ? first | ||
+ | |||
+ | Result: | ||
+ | 0:0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.index=== | ||
+ | |||
+ | Get the absolute index of a vertex. Indices start from 0. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.index ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.layer=== | ||
+ | |||
+ | Get the index of the layer the vertex is in. Layer indices start from 1. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.layer ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.pos=== | ||
+ | |||
+ | Get the position of the vertex. The query returns three numbers representing the X, Y and Z coordinates of the vertex. | ||
+ | |||
+ | Datatype: | ||
+ | distance | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.pos ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 5.0<br> | ||
+ | -0.28<br> | ||
+ | -6.48<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.normal=== | ||
+ | |||
+ | Get the normal of the vertex. The query returns three numbers representing the vertex normal as an average of the normals of the polygons it belongs to. | ||
+ | |||
+ | Datatype: | ||
+ | distance | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.normal ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 1.0<br> | ||
+ | 0.0<br> | ||
+ | 0.0<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.numPolys=== | ||
+ | |||
+ | Get the number of polygons sharing this vertex. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.numPolys ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.polyList=== | ||
+ | |||
+ | Get a list of the absolute indices of the polygons sharing this vertex. The queried values can be used as selections for the poly.??? attributes. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.polyList ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.numVerts=== | ||
+ | |||
+ | Get the number of vertices connected to this vertex by edges. This is also called the valence. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.numVerts ? first | ||
+ | |||
+ | Result: | ||
+ | 2 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.vertList=== | ||
+ | |||
+ | Get a list of the absolute indices of the vertices connected to this vertex by edges. The queried values can be used as selections for the vert.??? attributes. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.vertList ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 1<br> | ||
+ | 3<br> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.selected=== | ||
+ | |||
+ | Returns true if the vertex is selected. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.selected ? first | ||
+ | |||
+ | Result: | ||
+ | 1 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.hidden=== | ||
+ | |||
+ | Returns true if the vertex is hidden. | ||
+ | |||
+ | Datatype: | ||
+ | integer | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.hidden ? first | ||
+ | |||
+ | Result: | ||
+ | 0 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.selSets=== | ||
+ | |||
+ | Returns a list of selection sets the vertex belongs to. Returns an empty list if the vertex does not belong to any selection sets. This requires an index. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.selSets ? 0 | ||
+ | |||
+ | Result: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.vmapValue=== | ||
+ | |||
+ | Returns the value of the vertex map last queried for this vertex. Note that a vertex map must have previously been "selected" using one of the vmap.??? attributes. | ||
+ | |||
+ | Datatype: | ||
+ | float | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.vmapValue ? first | ||
+ | |||
+ | Result: | ||
+ | 0.5 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.symmetric=== | ||
+ | |||
+ | Return the name of the vertex opposite this one. This is the vertex that would also be affected by tools when symmetry is active. | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.symmetric ? first | ||
+ | |||
+ | Result: | ||
+ | 0:3 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===vert.wpos=== | ||
+ | |||
+ | Return the world position of the vertex | ||
+ | |||
+ | Datatype: | ||
+ | string | ||
+ | |||
+ | Example: | ||
+ | query layerservice vert.wpos ? first | ||
+ | |||
+ | Result: | ||
+ | |||
+ | 0.0<br> | ||
+ | -0.5<br> | ||
+ | 0.0<br> | ||
+ | |||
+ | ---- | ||
==polys== | ==polys== | ||
Line 898: | Line 2,208: | ||
==selmode== | ==selmode== | ||
+ | |||
+ | |||
+ | |||
+ | == More Information == | ||
+ | * [[Command System]] | ||
+ | * [[ILxCommandService (index)|ILxCommandService SDK Reference]] | ||
+ | * [[ILxCommand (index)|ILxCommand SDK Reference]] | ||
+ | * [[ScriptQuery Overview]] | ||
+ | |||
+ | [[Category: ScriptQuery Reference]] |
Latest revision as of 18:26, 12 June 2015
Contents
- 1 layerservice
- 1.1 Special Selectors
- 1.2 layers
- 1.2.1 layer
- 1.2.2 layer_groups
- 1.2.3 layer_elements
- 1.2.4 layer_lists
- 1.2.5 layers
- 1.2.6 layer.N
- 1.2.7 layer.name
- 1.2.8 layer.index
- 1.2.9 layer.subdivLevel
- 1.2.10 layer.curveAngle
- 1.2.11 layer.parent
- 1.2.12 layer.childCount
- 1.2.13 layer.children
- 1.2.14 layer.pivot
- 1.2.15 layer.bounds
- 1.2.16 layer.visible
- 1.2.17 layer.model
- 1.2.18 layer.id
- 1.2.19 layer.splPatchLevel
- 1.2.20 layer.wpos
- 1.2.21 layer.wbounds
- 1.3 kids
- 1.4 parts
- 1.5 models
- 1.6 materials
- 1.6.1 material
- 1.6.2 material_groups
- 1.6.3 materials depricated?
- 1.6.4 material.N
- 1.6.5 material.name
- 1.6.6 material.index
- 1.6.7 material.layer
- 1.6.8 material.opacity
- 1.6.9 material.color
- 1.6.10 material.luminous
- 1.6.11 material.diffuse
- 1.6.12 material.specular
- 1.6.13 material.gloss
- 1.6.14 material.reflect
- 1.6.15 material.transp
- 1.6.16 material.transl
- 1.6.17 material.refIndex
- 1.6.18 material.bump
- 1.6.19 material.colHigh
- 1.6.20 material.colFilt
- 1.6.21 material.difSharp
- 1.6.22 material.id
- 1.6.23 material.textures
- 1.7 textures
- 1.7.1 texture
- 1.7.2 texture_groups
- 1.7.3 textures
- 1.7.4 texture.N
- 1.7.5 texture.name
- 1.7.6 texture.index
- 1.7.7 texture.layer
- 1.7.8 texture.id
- 1.7.9 texture.type
- 1.7.10 texture.channel
- 1.7.11 texture.opacity
- 1.7.12 texture.enable
- 1.7.13 texture.invert
- 1.7.14 texture.blendMode
- 1.7.15 texture.position
- 1.7.16 texture.rotation
- 1.7.17 texture.scale
- 1.7.18 texture.projType
- 1.7.19 texture.projAxis
- 1.7.20 texture.coordSys
- 1.7.21 texture.fallType
- 1.7.22 texture.falloff
- 1.7.23 texture.uvName
- 1.7.24 texture.uvMap
- 1.7.25 texture.clip
- 1.7.26 texture.clipFile
- 1.7.27 texture.locator
- 1.8 clips
- 1.9 vmaps
- 1.10 verts
- 1.10.1 vert
- 1.10.2 vert_groups
- 1.10.3 verts
- 1.10.4 vert.N
- 1.10.5 vert.name
- 1.10.6 vert.index
- 1.10.7 vert.layer
- 1.10.8 vert.pos
- 1.10.9 vert.normal
- 1.10.10 vert.numPolys
- 1.10.11 vert.polyList
- 1.10.12 vert.numVerts
- 1.10.13 vert.vertList
- 1.10.14 vert.selected
- 1.10.15 vert.hidden
- 1.10.16 vert.selSets
- 1.10.17 vert.vmapValue
- 1.10.18 vert.symmetric
- 1.10.19 vert.wpos
- 1.11 polys
- 1.12 edges
- 1.13 uvs
- 1.14 polsets
- 1.15 vrtsets
- 1.16 itmsets
- 1.17 selection
- 1.18 selmode
- 1.19 More Information
layerservice
Commands are executed and queried directly through the command syntax description previously in this guide, but this doesn’t provide any detailed information about meshes and their related elements.
The layerservice ScriptQuery can be used to obtain this detailed mesh information.
Many item-level operations in layerservice have been superseded by those in Sceneservice. Be sure to check Sceneservice to see if it is more appropriate to your task than layerservice. In general, when you want to deal with items and their channels or when you want scene-level information, you'll mostly be making use of sceneservice. When you want to deal with modeling operations or need to obtain information about the specific vertices, polygons and edges of a mesh, you'd use layerservice.
Due to its design, layerservice is only meant to work on mesh items. Attempting to pass other kinds of items to any of the attributes will fail.
Special Selectors
This interface hosts a series of global lists of layers, models, materials, parts, textures, clips and vertex maps. There are also local lists specific to the layer selection for accessing vertices, edges and polygons.
The root-level attributes ending in an ‘s’ all return valid selectors for the more specific property attributes, similar to how the return values from the Commandservice commands and Categories attributes are the selectors for the more specific property attributes. However, the layerservice ‘s’ attributes require the use of selectors returned by the various attributes ending in _groups to filter the query to specific groups of elements.
The ‘s’ attributes are layers, kids, materials, parts, textures, clips, vmaps, verts, polys, edges and models.
The _groups attributes are layer_groups, kid_groups, material_groups, part_groups, texture_groups, clip_groups, vmap_groups, vert_groups, poly_groups and edge_groups.
Using Selectors
In the case of layers, the _groups attribute returns the keywords main, fg, bg and all. Getting a list of foreground layers is done in the following example.
query layerservice layers ? fg
Each of the values returned by this query can be passed into the a more specific property attribute, such as layer.subdivLevel. In the following example we assume that the query returned "0", and we provided that as the selector to layer.subdivLevel:
query layerservice layers.subdivLevel ? 0
Alternatively, all of the different ‘s’ attributes support the list walking keywords returned by the layers_element attributes first, last, next and prev, which are fairly self-explanatory. This example returns the first vertex map:
query layerservice vmaps ? first
The result of this query can then be passed to the property attributes. The next vertex map can then be obtained with:
query layerservice vmaps ? next
And so on.
Layer-Specific Selections
In the case of vertices, edges and polygons, a layer selection is required before any of their attributes can be used. This can be done by using any of the layer attributes that takes a selection.
The layer.index attribute, for example, actually gets the index of a specific layer, but it also changes the selection in the service.
In this example we switch the layer selection to the primary layer, discarding the returned value:
query layerservice layer.index ? main
After that, the various vertex, polygon and edge attributes can be used to get information specifically related to that layer, such as this query to get the number of selected vertices in the layer:
query layerservice vert.N ? selected
The above example also demonstrates the different grouping keywords used by the local lists. A complete list of keywords can be obtained by querying vert_groups, edge_groups and poly_groups, and includes selected, unselected, and all.
"Selecting" Layers, Vertex Maps, etc.
As mentioned above, it is important to note that all attributes work only on the current layer chosen for querying. This is especially true of the vert.???, poly.??? and edge.??? element attributes.
This is termed as selection, but is not the same as how you select elements with the mouse through the interface; rather this is to provide layerservice with a context to query another attribute. This kind of selection is performed by simply querying one of the attributes of the element you want to select.
For example, to "select" a layer, simply query any layer.??? attribute, such as layer.index.
query layerservice layer.index ? main
After this, the various vert.???, poly.???, etc. attributes can be used. The return value from the query above can be ignored; our only purpose is to tell layerservice which layer we plan to query the properties of.
Once "selected", it remains until a new call to one of the layer.??? attributes.
Similarly, attributes such as vert.vmapValue and poly.vmapValue require a vertex map selection, as mentioned in the attribute’s description
Selecting Points, Polygons and Edges
The select.element command can be used to select vertices, polygons and edges (this is selecting like how you would select a polygon in a model viewport, not the query selecting described in the previous section).
Once selected, elements can be manipulated using other commands. In all cases, the selectors returned by the verts, polys and edges attributes can be used to select those individual elements. verts and polys bother return element indices, while edges returns a vertex pair separated by commas and wrapped in parentheses, such as "(21, 18)".
layers
The layer attributes provide information about the individual layers that make up a mesh.
layer
Get a list of layer attributes. No selection needed.
Datatype: string
Example:
query layerservice layer ?
Result: [list the layer.??? attribute names]
layer_groups
Get a list of layer group keywords, used to querying subsets of layers:
- All: All layers.
- Fg: Foreground layers; currently active.
- Foregruond: Synonym for "fg"
- Bg: Background layers; currently inactive, for reference.
- Background: Synonym for "bg"
- Main: Main; new geometry creation will go here.
Datatype: string
Example:
query layerservice layer_groups ?
Result:
all
fg
bg
primary
main
layer_elements
Get a list of keywords for walking lists:
- First: Go to the head of the list.
- Last: Go to the tail element in the list.
- Prev: Go to the prev element in the list.
- Next: Go to the next element in the list.
Datatype: string
Example:
query layerservice layer_elements ?
Result: first last prev next
layer_lists
Get a list of layer group keywords, used to querying subsets of layers:
- Kids: A list of child layers parented to this one.
- Part: A list of parts used in these layers.
- Material: A list of materials used in these layers.
- Texture: A list of textures used in these layers.
- Clip: A list of clips (images) used in these layers.
- VMap: A list of vertex maps used in these layers.
- Poly: A list of polygons in these layers.
- Vert: A list of vertices in these layers.
- Edge: A list of edges in these layers.
Datatype: string
Example:
query layerservice layer_lists ?
Result:
kids
part
material
texture
clip
vmap
poly
vert
edge
model
uv
layers
Get a list of layer possible selections to pass into the more specific "layer.???" attributes.
Datatype: integer
Example:
query layerservice layers ? fg
Result: [list of foreground layers]
layer.N
Get the number of layers.
Datatype: integer
Example:
query layerservice layer.N ? fg
Result: 1
layer.name
Get the layer’s name.
Datatype: string
Example:
query layerservice layer.name ? 1
Result: Mesh
layer.index
Get the absolute index of the layer. Indicies start a 1.
Datatype: integer
Example:
query layerservice layer.index ? mesh020
Result: 0
layer.subdivLevel
Get the subdivision level of the layer.
Datatype: integer
Example:
query layerservice layer.subdivLevel ? mesh020
Result: 2
layer.curveAngle
Get the curve angle setting of a layer.
Datatype: angle
Example:
query layerservice layer.curveAngle ? mesh020
Result: 6.0
layer.parent
Get the parent index of the layer.
Datatype: integer
Example:
query layerservice layer.parent ? mesh020
Result: -1
layer.childCount
Get the number of layers parented to this one. The selector must be a layer_elements keyword or a specific selection from a layers query.
Datatype: integer
Example:
query layerservice layer.childCount ? mesh020
Result: 0
layer.children
Get the item IDs of the children of this layer. Returns an empty list if there are no children.
Datatype: integer
Example:
query layerservice layer.children ? mesh020
Result:
layer.pivot
Get the pivot point of the layers. Three numbers are returned, representing the X, Y and Z axes.
Datatype: distance
Example:
query layerservice layer.pivot ? mesh020
Result: 0.0 0.0 0.0
layer.bounds
Get the bounding box enclosing the layers. Six numbers are returned; which should be two pairs of X, Y and Z coordinates marking the opposite corners of the volume.
Datatype: distance
Example:
query layerservice layer.bounds ? mesh020
Result: -0.5 -0.5 -0.5 0.5 0.5 0.5
layer.visible
Get the layer visibility, returning fg, bg, main or none.
Datatype: string
Example:
query layerservice layer.visible ? mesh020
Result: fg
layer.model
Get the filename of the model the layer belongs to. This includes the full path to the file.
Datatype: string
Example:
query layerservice layer.model ? mesh020
Result: c:\Path\Filename.lwo
layer.id
Get the item reference ID of the layer.
Datatype: string
Example:
query layerservice layer.id ? mesh020
Result: mesh_375A8C59897A
layer.splPatchLevel
Return the spline patch level of the layer
Datatype: string
Example:
query layerservice layer.splPatchLevel ? first
Result: 16
layer.wpos
Return the world position of the layer
Datatype: string
Example:
query layerservice layer.wpos ? first
Result:
0.1
0.5
0.0
layer.wbounds
??? Datatype: string
Example:
query layerservice layer.wbounds ? first
Result: ???
kids
The kid series of attributes are a subset of the layer attributes, and are used to list the children of the a layer. The kid.??? and layer.??? attributes use the same layer selectors. The kid attribute itself is use to get the list of available kid.??? attributes. The kid_groups attribute is used to provide group filters for the other attributes.
kid
Get a list of kid attributes. No selection is needed.
Datatype: string
Example:
query layerservice kid ?
Result: [list the kid.??? attribute names]
kid_groups
Get a list of kid keywords to pass as the selection for the other attributes. No selection is needed.
- All: Children of all layers.
- Fg: Children of the foreground layers.
- Bg: Children of the background layers.
- Main: Children of the primary layer.
Datatype: string
Example:
query layerservice kid_groups ?
Result:
all
fg
bg
main
kids
Get a list of selectors for the "kid.???" attributes. These are in the form of absolute indices into the global layer list, and representing the children of the layer selection.
Datatype: string
Example:
query layerservice kids ? main
Result: 1
kid.N
Get the number of children of the layer selection.
Datatype: string
Example:
query layerservice kid.n ? main
Result: 1
kid.name
Name of a child of the layer selection. The selection must be one of the keywords returned by layer_element, or a previous layer_element selection must exist.
Datatype: string
Example:
query layerservice kid.name ? first
Result: Mesh
kid.index
Index of a child layer in the global layer list. Indices start from 1.
Datatype: string
Example:
query layerservice kid.index ? first
Result: 1
kid.layer
Get the layer index of the child. Indices start from 1.
Datatype: index
Example:
query layerservice kid.layer ? first
Result: 1
kid.parent
Index of a parent of this specific child layer in the global layer list. Returns 0 if the kid has no parent.
Datatype: string
Example:
query layerservice kid.parent ? first
Result: 0
parts
The part attributes provide access to the lists of polygons associated with part names.
The part attribute is use to get the list of available part.??? attributes. The part_groups attribute is used to provide group filters for the other attributes.
The parts attribute returns a list of possible, specific selectors for the various part.??? attributes, while part.N returns the number of parts in that grouping. Both attributes require a keyword from the part_group attribute as a selector.
The part.??? attributes query specific properties of an individual part. For each, the selector must be a layer_elements keywords (first, last, prev or next), or a specific selection from a parts query, or simply an index between 0 and part.N.
part
Get a list of part attributes.
Datatype: string
Example:
query layerservice part ?
Result: [list the part.??? attribute names]
part_groups
Get a list of group keywords to pass as the selection for the other attributes. No selection is needed. There is currently only one keyword, All, which returns all parts.
Datatype: string
Example:
query layerservice part_groups ?
Result: all
parts
Get a list of selectors for the "part.???" attributes. These are provided as absolute indices in the global part list.
Datatype: integer
Example:
query layerservice parts ? all
Result:
0
1
part.N
Get the number of parts.
Datatype: integer
Example:
query layerservice part.n ? all
Result: 2
part.name
Name of a part in the part list.
Datatype: string
Example:
query layerservice part.name ? first
Result:
Bolt
Nut
part.index
Index of a part in the part list. Indices start from 0.
Datatype: integer
Example:
query layerservice part.index ? first
Result: 0
part.layer
Get the current layer index, usually of the current mesh. Indices start from 1.
Datatype: integer
Example:
query layerservice part.layer ? first
Result: 1
models
The model series of attributes provide information about the models, which are defined as a collection of layers stored in a file.
The model attribute itself will return the list of available model.??? attributes.
The model.??? attributes query specific properties of an individual model. For each, the selector must be a specific selection from a models query, or an index between 0 and model.N, or one of the models_groups selectors.
model
Get a list of model attributes. No selection is needed.
Datatype: string
Example:
query layerservice model ?
Result: [list of model.??? attribute names]
model_groups
model.N
Get the number of models in memory.
Datatype: string
Example:
query layerservice model.n ?
Result: 2
model.name
Get the filename of the model, or an empty list if it has not yet been saved. This is the filename only, without the path to the file.
Datatype: string
Example:
query layerservice model.name ? 0
Result: Filename.lxo
model.index
Index of a model in the global model list. Note that the indices start from 1.
Datatype: integer
Example:
query layerservice model.index ? 0
Result: 1
model.layer
Return the index of the current layer of the model. Layer indices start from 1.
Datatype: integer
Example:
query layerservice model.layer ? first
Result: 1
model.curName
Get the name of the current model. If the file has not yet been saved, this may be "untitled" or "untitled*".
Datatype: string
Example:
query layerservice model.curName ?
Result: Filename.lxo
model.curIndex
Return the currently selected model’s index. Indices start from 1.
Datatype: integer
Example:
query layerservice model.curIndex ?
Result: 1
model.file
Get the filename of the model, or an empty list if it has not yet been saved. This includes the full path to the file as well as the filename.
Datatype: string
Example:
query layerservice model.file ? 0
Result: C:\path\Filename.lwo
materials
The material attribute is use to get the list of available material.??? attributes. used to provide group filters for the other attributes.
The materials attribute returns a list of possible, specific selectors for the various material.??? attributes, while material.N returns the number of materials in that grouping. Both attributes require a keyword from the material_group attribute as a selector.
material
Get a list of material attributes. No selection is needed.
Datatype: string
Example:
query layerservice material ?
Result: [list the material.??? attribute names]
material_groups
Description: Get a list of group keywords for use as the selection for the other attributes. No selection is needed.
Datatype: string
Example:
query layerservice material_groups ?
Result: all
materials depricated?
Get a list of selectors for the material.??? attributes. These are in the form of absolute indices into the global materials list. Material indices start from 0.
Datatype: integer
Example:
query layerservice materials ?
Result: 0
material.N
Get the number of materials.
Datatype: integer
Example:
query layerservice material.n ? all
Result: 1
material.name
Name of a material in the material list. The selection must be one of the keywords returned by layer_element, or a previous layer_element selection must exist.
Datatype: string
Example:
query layerservice material.name ? first
Result: Default
material.index
Index of a material in the material list.
Datatype: integer
Example:
query layerservice material.index ? first
Result: 0
material.layer
Returns the index of the current layer, usually that of a mesh item.
Datatype: integer
Example:
query layerservice material.index ?
Result: 0
material.opacity
Get the material’s opacity.
Datatype: percent
Example:
query layerservice material.opacity ? 0
Result: 1.0
material.color
Get the material’s color. Returns three floats representing the red, green and blue components of the color.
Datatype: float
Example:
query layerservice material.color ? 0
Result: 0.8 0.8 0.8
material.luminous
Get the material’s luminosity.
Datatype: percent
Example:
query layerservice material.luminous ? 0
Result: 0.0
material.diffuse
Get the material’s diffusion.
Datatype: percent
Example:
query layerservice material.diffuse ? 0
Result: 1.0
material.specular
Get the material’s specular.
Datatype: percent
Example:
query layerservice material.specular ? 0
Result: 0.0
material.gloss
Get the material’s glossiness.
Datatype: percent
Example:
query layerservice material.gloss ? 0
Result: 0.3
material.reflect
Get the material’s reflection amount.
Datatype: percent
Example:
query layerservice material.reflect ? 0
Result: 0.0
material.transp
Get the material’s transparency.
Datatype: percent
Example:
query layerservice material.transp ? 0
Result: 0.0
material.transl
Get the material’s translucency.
Datatype: percent
Example:
query layerservice material.transl ? 0
Result: 0.0
material.refIndex
Get the material’s refraction index.
Datatype: float
Example:
query layerservice material.diffuse ? 0
Result: 1.0
material.bump
Get the material’s bump amount.
Datatype: percent
Example:
query layerservice material.bump ? 0
Result: 1.0
material.colHigh
Get the material’s color highlights value.
Datatype: percent
Example:
query layerservice material.colHigh ? 0
Result: 0.0
material.colFilt
Get the material’s color filter value.
Datatype: percent
Example:
query layerservice material.colrilt ? 0
Result: 0.0
material.difSharp
Get the material’s diffuse sharpness amount.
Datatype: percent
Example:
query layerservice material.difsharp ? 0
Result: 0.0
material.id
Get the item reference ID of the material.
Datatype: string
Example:
query layerservice material.id ? 0
Result: textureLayer_01253459C65C
material.textures
Get a list of item reference IDs for the textures associated with the material.
Datatype: string
Example:
query layerservice material.textures ? first
Result:
textureLayer_8F767159B978
textureLayer_82B83B59C65B
textureLayer_01253459C65C
texturelayer_14059A598979
textures
The texture attributes are used to obtain the properties of attributes.
The texture attribute is use to get the list of available texture.??? attributes. The texture_groups attribute is used to provide group filters for the other attributes.
The textures attribute returns a list of possible, specific selectors for the various texture.??? attributes, while texture.N returns the number of parts in that grouping. Both attributes require a keyword from the texture_group attribute as a selector.
The texture.??? attributes query specific properties of an individual texture. For each, the selector must be a layer_elements keyword (first, last, prev or next), or a specific selection from a textures query, or simply an index between 0 and texture.N.
texture
Get a list of texture attributes.
Datatype: string
Example:
query layerservice texture ?
Result: [list the texture.??? attribute names]
texture_groups
Get a list of group keywords to pass as the selection for the other attributes. No selection is needed. There is currently only one keyword, All, which returns all textures.
Datatype: string
Example:
query layerservice texture_groups ?
Result: all
textures
Get a list of selectors for the texture.??? attributes, which are absolute indices into the texture list.
Datatype: string
Example:
query layerservice texture ? all
Result:
0
1
texture.N
Total number of textures.
Datatype: string
Example:
query layerservice texture.n ? all
Result: 2
texture.name
Name of a texture in the texture list.
Datatype: string
Example:
query layerservice texture.name ? first
Result:
Bolt
Nut
texture.index
Index of a texture in the texture list. Indiices start from 0.
Datatype: integer
Example:
query layerservice texture.index ? first
Result: 0
texture.layer
Get the current layer index, usually of the current mesh. Indices start from 1.
Datatype: integer
Example:
query layerservice texture.material ? first
Result: 0
texture.id
Get the item reference ID of the texture.
Datatype: integer
Example:
query layerservice texture.id ? first
Result: textureLayer_8F767159B978
texture.type
Get the type name of a texture.
Datatype: string
Example:
query layerservice texture.type ? first
Result: advancedMaterial
texture.channel
Get the channel name in the material that the texture is applied to.
Datatype: string
Example:
query layerservice texture.channel ? first
Result: color
texture.opacity
Get the texture opacity.
Datatype: percent
Example:
query layerservice texture.opacity ? first
Result: 0.0
texture.enable
Get the texture enable state.
Datatype: integer
Example:
query layerservice texture.enable ? first
Result: 1
texture.invert
Get the texture inversion state.
Datatype: integer
Example:
query layerservice texture.invert ? first
Result: 0
texture.blendMode
Get the texture blending mode.
Datatype: string
Example:
query layerservice texture.blendMode ? first
Result: normal
texture.position
Get the texture position. Returns three distances representing the X, Y and Z position.
Datatype: distance
Example:
query layerservice texture.position ? first
Result:
3.126
1.25
1.0
texture.rotation
Get the texture rotation. Returns three angles representing the X, Y and Z rotation.
Datatype: integer
Example:
query layerservice texture.rotation ? first
Result:
0.0
90.0
0.0
texture.scale
Get the texture scale. Returns three floats representing the X, Y and Z rotation.
Datatype: float
Example:
query layerservice texture.scale ? first
Result:
1.0
1.0
1.0
texture.projType
Get the texture projection type.
Datatype: string
Example:
query layerservice texture.projType ? first
Result: planar
texture.projAxis
Get the texture projection axis.
Datatype: integer
Example:
query layerservice texture.projAxis ? first
Result: 0
texture.coordSys
Get the texture coordinate system, such as particle, object and world.
Datatype: string
Example:
query layerservice texture.coordSys ? first
Result: object
texture.fallType
Get the texture falloff type, such as cube, sphere, linearX, linearY, and linearZ.
Datatype: string
Example:
query layerservice texture.falloffType ? first
Result: cube
texture.falloff
Get the texture falloff amount. Returns three distances representing the X, Y and Z falloff.
Datatype: distance
Example:
query layerservice texture.falloff ? first
Result:
1.0
100.0
1.0
texture.uvName
Get the name of the UV map associated with the texture.
Datatype: string
Example:
query layerservice texture.uvName ? first
Result: My UV Map
texture.uvMap
Get the index of the UV map associated with the texture.
Datatype: distance
Example:
query layerservice texture.uvMap ? first
Result: 0
texture.clip
Get the index of the clip applied to the texture.
Datatype: integer
Example:
query layerservice texture.clip ? first
Result: 0
texture.clipFile
texture.clipFile
Description: Get the path and filename of the clip applied to the texture.
Datatype: string
Example:
query layerservice texture.clipFile ? first
Result: c:\path\creatureface.tga
texture.locator
Get the id of the texture locator
Datatype: string
Example:
query layerservice texture.locator ? first
Result: txtrLocator024
clips
The clip attributes give access to the clip list.
The clip attribute is use to get the list of available clip.??? attributes. The clip_groups attribute is used to provide group filters for the other attributes.
The clips attribute returns a list of possible, specific selectors for the various clip.??? attributes, while clip.N returns the number of parts in that grouping. Both attributes require a keyword from the clip_group attribute as a selector.
The clip.??? attributes query specific properties of an individual clip (image). For each, the selector must be a layer_elements keyword (first, last, prev or next), or a specific selection from a clips query, or simply an index between 0 and clip.N.
clip
Get a list of clip attributes.
Datatype: string
Example:
query layerservice clip ?
Result: [list the clip.??? attribute names]
clip_groups
Get a list of group keywords to pass as the selection for the other attributes. No selection is needed. There is currently only one keyword, All, which returns all clips.
Datatype: string
Example:
query layerservice clip_groups ?
Result: all
clips
Get a list of selectors for the clip.??? attributes. These are provided as absolute indices into the clip list.
Datatype: string
Example:
query layerservice clips ? all
Result: 0 1
clip.N
Total number of clips. The selection must be one of the keywords returned by clip_groups, or a previous clip_groups selection must exist.
Datatype: integer
Example:
query layerservice clip.n ? all
clip.name
Name of a clip in the clip list. This is often the filename to the image without the path.
Datatype: string
Example:
query layerservice clip.name ? first
Result: creatureface.tga
clip.file
Filename of a clip in the clip list, including the full path to the file.
Datatype: string
Example:
query layerservice clip.file ? first
Result: c:\path\creatureface.tga
clip.index
Index of a clip in the clip list.
Datatype:
integer
Example:
query layerservice clip.index ? first
Result: 0
clip.layer
Get the layer index of the clip. Layer indices start from 1.
Datatype: index
Example:
query layerservice clip.layer ? first
Result: 0
clip.id
Get the item reference ID of the clip.
Datatype: string
Example:
query layerservice clip.id ? first
Result: videoClip_CB383659CFDD
clip.info
Get some information about the clip. This includes the pixel type, (such as RGB), the width, height, bits per pixel, and pixel aspect ratio.
Datatype: string
Example:
query layerservice clip.info ? first
Result: RGB w:188 h:120 bpp:8 pa:1
vmaps
The Vertex Map attributes can be used to get the information about vertex maps, or vmaps.
The vmap attribute is use to get the list of available vmap.??? attributes. The vmap_groups attribute is used to provide group filters for the other attributes.
The vmaps attribute returns a list of possible, specific selectors for the various vmap.??? attributes, while vmap.N returns the number of parts in that grouping. Both attributes require a keyword from the vmap_group attribute as a selector.
The vmap.??? attributes query specific properties of an individual vertex map. For each, the selector must be a layer_elements keyword (first, last, prev or next), or a specific selection from a vmaps query, or simply an index between 0 and vmap.N.
vmap
Get a list of vertex map attributes.
Datatype: string
Example:
query layerservice vmap ? first
Result: [list the vmap.??? attribute names]
vmap_groups
Get a list of group keywords to pass as the selection for the other attributes.
- All: All vertex maps.
- Selected: Selected vertex maps.
- Weight: All weight maps.
- Texture: All texture maps.
- Subweight: All subdivision surface weight maps.
- Morph: All morph maps.
- AbsMorph: All absolute morph maps.
- RGB: All RGB color maps.
- RGBA: All RGBA color maps.
- Normal: All vertex normal maps.
Datatype: string
Example:
query layerservice vmap_groups ?
Result:
all
selected
weight
texture
subweight
morph
absmorph
rgb
rgba
vmaps
Get a list of selectors for the “vmap.???” attributes. These are in the form of absolute indices into the global vertex map list.
Datatype: integer
Example:
query layerservice vmaps ? all
Result:
0
1
vmaps.N
Total number of vertex maps. The selection must be one of the keywords returned by vmap_groups, or a previous vmap_groups selection must exist.
Datatype: integer
Example:
query layerservice vmap.n ?
Result: 1
vmap.name
Name of a vertex map in the vertex map list.
Datatype: string
Example:
query layerservice vmap.name ? first
Result: Subdivision
vmap.index
Index of a vertex map in the vertex map list. Indices start from 0.
Datatype: integer
Example:
query layerservice vmap.index ? first
Result: 0
vmap.layer
Index of the vertex map in the layer list. Layer indices start from 1.
Datatype: integer
Example:
query layerservice vmap.layer ? first
Result: 1
vmap.type
Get the type of a vertex map in the vertex map list.
Datatype: string
Example:
query layerservice vmap.type ? first
Result: subweight
vmap.dim
Get the dimensions of a vertex map in the vertex map list.
Datatype: integer
Example:
query layerservice vmap.dim ? first
Result: 1
vmap.selected
Returns true if the vertex map is selected
Datatype: integer
Example:
query layerservice vmap.selected ? first
Result: 1
verts
The vertex attributes provide detailed information about individual vertices in a mesh.
The vert attribute is used to get the list of available vert.??? attributes. The vert_groups attribute is used to provide group filters for the other attributes.
The verts attribute returns a list of possible, specific selectors for the various vert.??? attributes, while vert.N returns the number of parts in that grouping. Both attributes require a keyword from the vert_group attribute as a selector.
Before using any of the remaining vertex attributes, you must first select a layer with a layer.??? attribute. The following example selects the first layer, but first can be replaced with a specific index or any of the layer_element keywords as described in the layer.index documentation above.
query layerservice layer.index ? first
vert
Get a list of vertex attributes.
Datatype: string
Example:
query layerservice vert ?
Result: [list the vert.??? attribute names]
vert_groups
Get a list of group keywords to pass as the selection for the other attributes.
- Selected: Selected vertices.
- Unselected: Unselected vertices.
- All: All vertices.
- Visible: All vertices that are not hidden.
Datatype: string
Example:
query layerservice vert_groups ?
Result:
all selected unselected visible
verts
Get a list of selectors for the vert.??? attributes, provided in the form of absolute vertex indices.
Datatype: integer
Example:
query layerservice verts ? all
Result:
0
1
2
3
vert.N
Get the number of vertices in the grouping.
Datatype: integer
Example:
query layerservice vert.N ? selected
Result: 4
vert.name
Get the "name" of a vertex. This name is in the form of layer index:vertex index. For example the tenth vertex in the third layer has the name 3:10.
Datatype: integer
Example:
query layerservice vert.name ? first
Result: 0:0
vert.index
Get the absolute index of a vertex. Indices start from 0.
Datatype: string
Example:
query layerservice vert.index ? first
Result: 0
vert.layer
Get the index of the layer the vertex is in. Layer indices start from 1.
Datatype: integer
Example:
query layerservice vert.layer ? first
Result: 1
vert.pos
Get the position of the vertex. The query returns three numbers representing the X, Y and Z coordinates of the vertex.
Datatype: distance
Example:
query layerservice vert.pos ? first
Result:
5.0
-0.28
-6.48
vert.normal
Get the normal of the vertex. The query returns three numbers representing the vertex normal as an average of the normals of the polygons it belongs to.
Datatype: distance
Example:
query layerservice vert.normal ? first
Result:
1.0
0.0
0.0
vert.numPolys
Get the number of polygons sharing this vertex.
Datatype: integer
Example:
query layerservice vert.numPolys ? first
Result: 1
vert.polyList
Get a list of the absolute indices of the polygons sharing this vertex. The queried values can be used as selections for the poly.??? attributes.
Datatype: integer
Example:
query layerservice vert.polyList ? first
Result: 0
vert.numVerts
Get the number of vertices connected to this vertex by edges. This is also called the valence.
Datatype: integer
Example:
query layerservice vert.numVerts ? first
Result: 2
vert.vertList
Get a list of the absolute indices of the vertices connected to this vertex by edges. The queried values can be used as selections for the vert.??? attributes.
Datatype: integer
Example:
query layerservice vert.vertList ? first
Result:
1
3
vert.selected
Returns true if the vertex is selected.
Datatype: integer
Example:
query layerservice vert.selected ? first
Result: 1
Returns true if the vertex is hidden.
Datatype: integer
Example:
query layerservice vert.hidden ? first
Result: 0
vert.selSets
Returns a list of selection sets the vertex belongs to. Returns an empty list if the vertex does not belong to any selection sets. This requires an index.
Datatype: string
Example:
query layerservice vert.selSets ? 0
Result:
vert.vmapValue
Returns the value of the vertex map last queried for this vertex. Note that a vertex map must have previously been "selected" using one of the vmap.??? attributes.
Datatype: float
Example:
query layerservice vert.vmapValue ? first
Result: 0.5
vert.symmetric
Return the name of the vertex opposite this one. This is the vertex that would also be affected by tools when symmetry is active.
Datatype: string
Example:
query layerservice vert.symmetric ? first
Result: 0:3
vert.wpos
Return the world position of the vertex
Datatype: string
Example:
query layerservice vert.wpos ? first
Result:
0.0
-0.5
0.0
polys
- poly
- poly_groups
- poly.N
- poly.name
- poly.index
- poly.layer
- poly.numVerts
- poly.vertList
- poly.normal
- poly.type
- poly.vmapValue
- poly.discos
- poly.material
- poly.part
- poly.selected
- poly.hidden
- poly.pos
- poly.tags
- poly.tagTypes
- poly.selSets
- poly.symmetric
- poly.wpos
- poly.wnormal
- poly.vertNormals
- poly.wvertNormals
- poly.workpos
- poly.worknormal
edges
- edge
- edge_groups
- edge.N
- edge.name
- edge.index
- edge.layer
- edge.vertList
- edge.numPolys
- edge.polyList
- edge.length
- edge.creaseWeight
- edge.vector
- edge.pos
- edge.selected
- edge.hidden
- edge.selSets
- edge.symmetric
- edge.wpos
- edge.wvector
- edge.workpos
- edge.workvector
uvs
- uv
- uv_groups
- uv.N
- uv.name
- uv.index
- uv.layer
- uv.vert
- uv.poly
- uv.vmap
- uv.disco
- uv.pos
- uv.selected
- uv.hidden
polsets
- polset
- polset_groups
- polset.N
- polset.name
- polset.index
- polset.layer
vrtsets
- vrtset
- vrtset_groups
- vrtset.N
- vrtset.name
- vrtset.index
- vrtset.layer
itmsets
- itmset
- itmset_groups
- itmset.N
- itmset.name
- itmset.index
- itmset.layer