Library

Object Hierarchy | Related C++ Class: Library | Supported Parameter List: library_source

Inheritance

SIObject
   ProjectItem
       Source
          Library

Introduced

4.0

Description

A library is a container of objects of the same kind. For example, a material library contains a list of materials. The storage of a library can be either internal or external. For internal storage, it is saved within the scene file. For external, it is saved in a separate file. The library can be exported and imported into a dotXSI format or a native binary format.

Methods

AddCustomOp

AddProperty

AddScriptedOp

AddScriptedOpFromFile

AnimatedParameters2

BelongsTo

EvaluateAt

GetICEAttributeFromName

IsA

IsAnimated2

IsClassOf

IsEqualTo

IsKindOf

IsLocked

IsSelected

LockOwners

SetAsSelected

SetCapabilityFlag

SetLock

TaggedParameters

UnSetLock

 

 

 

Properties

Application

BranchFlag

Capabilities

Categories

Families

FullName

Help

ICEAttributes

Items

LockLevel

LockMasters

LockType

Model

Name

NestedObjects

ObjectID

Origin

OriginPath

Owners

Parameters

Parent

Parent3DObject

PPGLayout

Properties

Selected

Type

 

 

Examples

JScript Example

/*
   This example illustrates how to get a material library and how to 
   enumerate all materials in a library
*/
NewScene(null, false);

// First create some libraries and materials
CreatePrim("Sphere", "MeshSurface");
ApplyShader(null, "", null, "", siLetLocalMaterialsOverlap);
CreateLibrary();
SelectObj("Sources.Materials.MaterialLibrary");
SetValue("Sources.Materials.MaterialLibrary.Name", "MyLibrary");
SetCurrentMaterialLibrary("Sources.Materials.MyLibrary");
SelectObj("sphere", null, true);
ApplyShader(null, "", null, "", siLetLocalMaterialsOverlap);

// Now enumerate all materials in all libraries
var oScene = Application.ActiveProject.ActiveScene;
var oMaterialLibraries = oScene.MaterialLibraries;
Application.LogMessage("There are " + oMaterialLibraries.Count + " libraries under the scene.");
for( var i=0; i<oMaterialLibraries.Count; i++ ) {
   var oLibrary = oMaterialLibraries(i);
   Application.LogMessage(oLibrary.Name + " has " + oLibrary.Items.Count + " defined materials");

   var oMaterials = oLibrary.Items;
   for( var j=0; j<oMaterials.Count; j++ ) {
       Application.LogMessage("  - " + oMaterials(j).Name);
   }
}


// Expected result:
// INFO : There are 2 libraries under the scene.
// INFO : DefaultLib has 2 defined materials
// INFO :   - Scene_Material
// INFO :   - Material
// INFO : MyLibrary has 1 defined materials
// INFO :   - Material

See Also

Scene.ActiveMaterialLibrary



Autodesk Softimage v7.5