検索基準に一致する、このコレクションの最初のメンバを戻します。項目が検出されなかった場合、このメソッドは "Nothing" を戻すので、エラーの捕捉に使用できます。
ShaderParameter ShaderParameterCollection.Find( String in_filter ); |
oReturn = ShaderParameterCollection.Find( [Type] ); |
オブジェクト(タイプは検索基準によって異なります)
' ' This example demonstrates how to find X3DObject objects ' ' 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" |
/* This example demonstrates how to find Cluster objects */ NewScene( null, false ); var obj = CreatePrim( "Cube", "MeshSurface" ); CreateCluster("cube.pnt[2,3,6,LAST]"); CreateCluster("cube.poly[1]"); CreateCluster("cube.edge[0,1,3,5-8,LAST]"); CreateCluster("cube.sample[0,3-9,12,15,20,21]"); // find the cluster using the siType constant. var cls = obj.activeprimitive.geometry.clusters.find( siPolygonCluster ); if ( cls != null ) logmessage( "found polygon cluster: " + cls.fullname ); //Expected results: //INFO : found polygon cluster: cube.polymsh.cls.Polygon |
# # This example demonstrates how to to find PlayControl Property objects # under the scene root # PlayCtrlProp = Application.ActiveProject.Properties.Find( "PlayControl" ) try : if Application.ClassName(PlayCtrlProp) == "Property" : Application.LogMessage( "PlayControl property OK" ) else : Application.LogMessage( "PlayControl property NOT found" ) except : Application.LogMessage( "PlayControl property NOT found" ) # Output of above script: #INFO : PlayControl property OK |