ActivePrimitive (X3DObject)

Description

Returns the 3D object's active Primitive. There is an exception, although the the scene root is a kind of Model it does not support primitives. In this cases the property will return Nothing (in C++ this would be NULL with a return code of S_FALSE).

C# Syntax

// get accessor
Primitive rtn = X3DObject.ActivePrimitive;

Examples

1. JScript Example

/*
   This example illustrates how to get the active primitive object from an 
   X3DObject object and how to detect if the object supports primitives.
*/

var cone = Application.ActiveSceneRoot.AddGeometry( "Cone", "MeshSurface" );
TestPrimitive( cone ) ;

mynull = Application.ActiveSceneRoot.AddNull( "MyNull" )
TestPrimitive( mynull ) ;

TestPrimitive( Application.ActiveSceneRoot ) ;


function TestPrimitive( in_obj )
{
   if ( in_obj.ActivePrimitive != null )
   {
       Application.LogMessage( "\n\t" +
              "Name: " + in_obj.Name + "\n\t" +
              "Class: " + Application.ClassName(in_obj) + "\n\t" +
              "Type: " + in_obj.Type + "\n\t" +
              "Fullname: " + in_obj.FullName + "\n\t" +
              "Parent: " + in_obj.Parent.Name ) ;
   }
   else
   {
       Application.LogMessage( in_obj + " does not have a primitive" ) ;
   }
}

// Expected results:
//INFO : Sphere object's name: sphere

//INFO : 
// Name: cone
// Class: X3DObject
// Type: polymsh
// Fullname: cone
// Parent: Scene_Root
//INFO : 
// Name: MyNull
// Class: Null
// Type: null
// Fullname: MyNull
// Parent: Scene_Root
//INFO : Scene_Root does not have a primitive

2. Python Example

#
#  This example illustrates how to get the active primitive object from an 
#  X3DObject object and how to detect if the object supports primitives.
#

cone = Application.ActiveSceneRoot.AddGeometry( "Cone", "MeshSurface" )

if cone.ActivePrimitive :
   Application.LogMessage( "\n\tName: " + cone.Name + "\n\tClass: " +
   Application.ClassName(cone) + "\n\tType: " + cone.Type + "\n\tFullname: " +
   cone.FullName + "\n\tParent: " + cone.Parent.Name )

if not Application.ActiveSceneRoot.ActivePrimitive :
   Application.LogMessage( "The SceneRoot does not have a primitive." )

# Expected results:
#INFO : 
#  Name: cone
#  Class: X3DObject
#  Type: polymsh
#  Fullname: cone
#  Parent: Scene_Root
#INFO : The SceneRoot does not have a primitive.

3. VBScript Example

'
'  This example illustrates how to get the active primitive object from an 
'  X3DObject object and how to detect if the object supports primitives.
'

NewScene , false
set cone = Application.ActiveSceneRoot.AddGeometry( "Cone", "MeshSurface" )

if TypeName(cone.ActivePrimitive) <> "Nothing" then
   Application.LogMessage vbTab & "Name: " & vbTab & cone.Name, siComment 
   Application.LogMessage vbTab & "Class: " & vbTab & TypeName(cone), siComment 
   Application.LogMessage vbTab & "Type: " & vbTab & cone.Type, siComment 
   Application.LogMessage vbTab & "FullName: " & vbTab & cone.FullName, siComment 
   Application.LogMessage vbTab & "Parent: " & vbTab & cone.Parent.Name, siComment 
end if

if TypeName(Application.ActiveSceneRoot.ActivePrimitive) = "Nothing" then
   Application.LogMessage "The SceneRoot does not have a primitive.", siComment 
end if

' Expected results:
'  Name:  cone
'  Class:  X3DObject
'  Type:  polymsh
'  Fullname:  cone
'  Parent:  Scene_Root
' The SceneRoot does not have a primitive.


Autodesk Softimage v7.5