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 |
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
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"
SOFTIMAGE|XSI v6.01