Find (X3DObjectCollection)

Description

Returns the first member of this collection that matches the type criteria. If no item is found, it returns "Nothing", which you can use to trap errors.

Scripting Syntax

X3DObjectCollection.Find( [Type] )

C# Syntax

X3DObject X3DObjectCollection.Find( String in_filter );

Parameters

Parameter

Type

Description

Type

siType

The type of object to look for defined by siType or an empty string if the type is not required. The type can be a specific X3DObject type such as siModelType and si3DObjectType or a primitive type such as siPolyMeshType or siSrfMeshPrimType. If a primitive type is supplied, the function returns the first child object defined with a primitive of this type.

Possible Values:

siPolyMeshType: Polygon Mesh type

si3DObjectType: 3D Object type

siArcPrimType: Implicit Arc Primitive type

siAttractorCtrlType: Attractor Control Object type (electric force)

siCameraPrimType: Camera Primitive type

siCameraRootPrimType: Camera Root primitive type

siChainBonePrimType: Chain Bone Primitive type

siChainEffPrimType: Chain End Effector Primitive type

siChainRootPrimType: Chain Root Primitive type

siCirclePrimType: Implicit Circle Primitive type

siCloudPrimType: Cloud Primitive type

siConePrimType: Cone Primitive type

siCrvListAggregatePrimType: NURBS Curve List Aggregate Primitive type

siCrvListPrimType: NURBS Curve List Primitive type

siCubePrimType: Cube Primitive type

siCylinderPrimType: Cylinder Primitive type

siDiscPrimType: Disc Primitive type

siDodecahedronPrimType: Dodecahedron Primitive type

siDragCtrlPrimType: Drag Control Primitive type

siEddyCtrlPrimType: Eddy Control Primitive type

siFanType: Fan Force Object type

siFurPrimType: Fur Primitive type

siGeoShaderPrimType: GeoShader Primitive Type

siGravityCtrlType: Gravity Force Control Object type

siGridPrimType: Grid Primitive type

siIcosahedronPrimType: Icosahedron Primitive type

siLatticePrimType: Lattice Primitive type

siLightPrimType: Light Primitive type

siModelNullPrimType: Model Null Primitive type

siModelType: 3D Model type

siNullPrimType: Null Primitive type

siOctahedronPrimType: Octahedron Primitive type

siSpherePrimType: Sphere Primitive type

siSpiralPrimType: Implicit Spiral Primitive type

siSpotInterestPrimType: Spot Interest Primitive type

siSpotRootPrimType: Spot Root Primitive type

siSquarePrimType: Implicit Square Primitive type

siSrfMeshPrimType: NURBS Surface Mesh Primitive type

siTetrahedronPrimType: Tetrahedron Primitive type

siTorusPrimType: Torus Primitive type

siTurbulenceCtrlPrimType: Turbulence Control Primitive type

siVolumeDeformType: Volume Deform type (implicit sphere volume)

siVortexCtrlType: Vortex Control Object type (magnetic force)

siWaveCtrlType: Wave Control Object type

siWindType: Wind Force Object type

Return Value

X3DObject

Examples

VBScript Example

'VBScript example
' Set up the example using a mesh grid, cube, cone, and a nurbs cube:
set oRoot = activesceneroot
oRoot.addgeometry "grid", "meshsurface"
oRoot.addgeometry "cube", "meshsurface"
oRoot.addgeometry "cone", "meshsurface"
oRoot.addgeometry "cube", "nurbssurface"

set oGeoms = oRoot.findchildren( ,,siGeometryFamily)
logmessage "The collection of geometry from the root is a " & typename( oGeoms ) 
logmessage "There are " & oGeoms.count & " geometry objects under the root." 
logmessage ""

for each item in oGeoms
   logmessage item.name & " is a " & item.type & " " & typename( item )
next


set oCone = oGeoms.find( "cone" )
set oCube = oGeoms.find( "cube" )
set oGrid = oGeoms.find( "grid" )


logmessage ""
logmessage "=========================================================================="
logmessage " Stats for the collection:"
logmessage " ------------------------"
logmessage " Total number of objects in collection: " & oGeoms.count
logmessage " Name of the first cone in the collection: " & oCone.name
logmessage " Name of the first cube in the collection: " & oCube.name

' Try some error trapping ( if you are trying to use a find criteria that returns Nothing, 
' you will see this error message: 'ERROR : "Object required: 'oCube1'" )
set oCube1 = oGeoms.find( "cube1" )
if typename( oCube1 ) = "Nothing" then
   logmessage " Can't get the name of the other cube in the collection."
else 
   logmessage " Name of the other cube in the collection: " & oCube1.name
end if

logmessage " Name of the first grid in the collection: " & oGrid.name


' Output of above script is:
'INFO : "The collection of geometry from the root is a X3DObjectCollection"
'INFO : "There are 4 geometry objects under the root."
'INFO : ""
'INFO : "grid is a polymsh X3DObject"
'INFO : "cube is a polymsh X3DObject"
'INFO : "cone is a polymsh X3DObject"
'INFO : "cube1 is a surfmsh X3DObject"
'INFO : ""
'INFO : "=========================================================================="
'INFO : " Stats for the collection:"
'INFO : " ------------------------"
'INFO : " Total number of objects in collection: 4"
'INFO : " Name of the first cone in the collection: cone"
'INFO : " Name of the first cube in the collection: cube"
'INFO : " Can't get the name of the other cube in the collection."
'INFO : " Name of the first grid in the collection: grid"


Autodesk Softimage v7.5