r3matbas

r3lvlmat
r3vsl
r3matlib

r3matbas

Class

real/code/r3matbas.h

Library

r3code

Description:

Base class of all materials

See Also

real/code/r3ttag.h

Super Class

r3Ttag

R3CLID_TTAG

JavaScript

r3Materialbase

Class Identifier

R3CLID_MATERIALBASE - 792

Methods

RENDER, BEGINRENDER, ENDRENDER, FINDOBJBYNAME, FINDCHILDBYNAME, REGISTERMAPPINGT, SETPREVIEWIMAGENO, ENUMCHANNELS, RENAMECHANNELREF,

Attributes

PreviewImage, AlsoChangesObj, ShowPreview, FindMatByNameObj, FindMatByNameMeth, PreviewProject, Mappable, Keyframer, PreferredMapping, MapFixedSize, MapFixedProportio, NotUsed, PreferredPriority,

Registration

int R3RegisterMaterialBaseClass(R3APP *app);

R3MATBASEM_RENDER

Method

RENDER

Identifier

R3MATBASEM_RENDER

Param 3:

R3TAG*, R3MATBASEA_Renderer (render engine object) included in the tag list. * R3MATBASEA_ActiveNames optionally for specifying which materials to render

JavaScript

obj.RENDER(p3);

Description

Creates rendering material object. This base class does it by sending * R3MATBASEM_BEGINRENDER and R3MATBASEM_ENDRENDER methods to itself.

R3MATBASEM_BEGINRENDER

Method

BEGINRENDER

Identifier

R3MATBASEM_BEGINRENDER

Return

void*, TRUE if successful

Param 2:

R3INT, class id of the rendering object to be created. Define it if 0 (not yet defined by super class).

Param 3:

R3TAG*, tag list for creating the rendering object.

JavaScript

rc = obj.BEGINRENDER(0, p2, p3);

Description

Begins rendering of the material. The object adds the rendering attributes it defines to * a tag list and inherits the method to the base class that creates the rendering object by sending * R3FRM_BEGINLIBOBJECT method to the render engine.

R3MATBASEM_ENDRENDER

Method

ENDRENDER

Identifier

R3MATBASEM_ENDRENDER

Return

void*, TRUE if successful

JavaScript

rc = obj.ENDRENDER();

Description

Ends rendering description of the material. A material object should inherit this method to this * base class which finishes creation by sending R3FRM_ENDLIBOBJECT to the render engine.

R3MATBASEM_FINDOBJBYNAME

Method

FINDOBJBYNAME

Identifier

R3MATBASEM_FINDOBJBYNAME

Return

R3OBJ*, material, if found

Param 3:

char*, name of the material to search for

JavaScript

rc = obj.FINDOBJBYNAME(p3);

Description

find other materials by name.

R3MATBASEM_FINDCHILDBYNAME

Method

FINDCHILDBYNAME

Identifier

R3MATBASEM_FINDCHILDBYNAME

Return

R3INT, TRUE, if the name of a child (recursively) matches the given name -1, if a recursion loop is encountered before the named child is found FALSE otherwise

Param 3:

char*, name of the child material to search for

JavaScript

rc = obj.FINDCHILDBYNAME(p3);

Description

search child materials (name references) for a match

R3MATBASECM_REGISTERMAPPINGT

Method

REGISTERMAPPINGT

Identifier

R3MATBASECM_REGISTERMAPPINGT

Return

R3INT, TRUE if succeeded

Param 1:

R3INT, identifier for the mapping (clid)

Param 3:

char*, statically allocated symbolic name (pointer value is stored, don't use temporary strings)

JavaScript

rc = obj.REGISTERMAPPINGT(p1, p3);

Description

Class method, for registering R3MATBASEA_PreferredMapping alternatives

R3MATBASEM_SETPREVIEWIMAGENO

Method

SETPREVIEWIMAGENO

Identifier

R3MATBASEM_SETPREVIEWIMAGENO

Param 3:

R3OBJ*, new image

JavaScript

obj.SETPREVIEWIMAGENO(p3);

Description

Set preview image for the material without generating update events.

R3MATBASEM_ENUMCHANNELS

Method

ENUMCHANNELS

Identifier

R3MATBASEM_ENUMCHANNELS

Param 1:

R3OBJ*, callback object

Param 2:

R3INT, callback method

Param 3:

void*, callback context

JavaScript

obj.ENUMCHANNELS(p1, p2, p3);

Description

enumerate all (static and dynamic) channel requirements R3DoA3(cbobj, cbmth, channelname, typeid (0 if unknown), context);

R3MATBASEM_RENAMECHANNELREF

Method

RENAMECHANNELREF

Identifier

R3MATBASEM_RENAMECHANNELREF

Param 1:

char*, old name

Param 3:

char*, new name

JavaScript

obj.RENAMECHANNELREF(p1, p3);

Description

rename possible references to a given channel

PreviewImage

Attribute

PreviewImage

Identifier

R3MATBASEA_PreviewImage

JavaScript type

Object

C type

R3OBJ*

Description

preview image

Syntax


jsobj.SetPreviewImage(value);
value = jsobj.GetPreviewImage();


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3MATBASEA_PreviewImage, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3MATBASEA_PreviewImage, &value, R3TAG_END);

AlsoChangesObj

Attribute

AlsoChangesObj

Identifier

R3MATBASEA_AlsoChangesObj

JavaScript type

Object

C type

R3OBJ*

Description

for internal use only

Syntax


jsobj.SetAlsoChangesObj(value);
value = jsobj.GetAlsoChangesObj();


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3MATBASEA_AlsoChangesObj, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3MATBASEA_AlsoChangesObj, &value, R3TAG_END);

ShowPreview

Attribute

ShowPreview

Identifier

R3MATBASEA_ShowPreview

JavaScript type

Boolean

C type

R3BOOL

Description

true if this material can be previewed

Syntax


value = jsobj.GetShowPreview();


R3BOOL value;
R3GetAttrs(r3obj, R3MATBASEA_ShowPreview, &value, R3TAG_END);

FindMatByNameObj

Attribute

FindMatByNameObj

Identifier

R3MATBASEA_FindMatByNameObj

JavaScript type

Object

C type

R3OBJ*

Description

callback, private

Syntax


jsobj.SetFindMatByNameObj(value);


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3MATBASEA_FindMatByNameObj, value, R3TAG_END);

FindMatByNameMeth

Attribute

FindMatByNameMeth

Identifier

R3MATBASEA_FindMatByNameMeth

JavaScript type

Integer

C type

R3INT

Description

callback, private

Syntax


jsobj.SetFindMatByNameMeth(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3MATBASEA_FindMatByNameMethod, value, R3TAG_END);

PreviewProject

Attribute

PreviewProject

Identifier

R3MATBASEA_PreviewProject

JavaScript type

String

C type

char*

Description

name of project to use as preview image

Syntax


jsobj.SetPreviewProject(value);
value = jsobj.GetPreviewProject();


char* value = ...;
R3SetAttrs(r3obj, R3MATBASEA_PreviewProject, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3MATBASEA_PreviewProject, &value, R3TAG_END);

Mappable

Attribute

Mappable

Identifier

R3MATBASEA_Mappable

JavaScript type

Boolean

C type

R3BOOL

Description

TRUE if the material can be mapped

Syntax


value = jsobj.GetMappable();


R3BOOL value;
R3GetAttrs(r3obj, R3MATBASEA_Mappable, &value, R3TAG_END);

Keyframer

Attribute

Keyframer

Identifier

R3MATBASEA_Keyframer

JavaScript type

Object

C type

R3OBJ*

Description

keyframe object, if animated material

Syntax


jsobj.SetKeyframer(value);
value = jsobj.GetKeyframer();


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3MATBASEA_Keyframer, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3MATBASEA_Keyframer, &value, R3TAG_END);

PreferredMapping

Attribute

PreferredMapping

Identifier

R3MATBASEA_PreferredMapping

JavaScript type

Integer

C type

R3INT

Description

class id (or NULL) of mapping object that best suits this material

Syntax


jsobj.SetPreferredMapping(value);
value = jsobj.GetPreferredMapping();


R3INT value = ...;
R3SetAttrs(r3obj, R3MATBASEA_PreferredMapping, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3MATBASEA_PreferredMapping, &value, R3TAG_END);

MapFixedSize

Attribute

MapFixedSize

Identifier

R3MATBASEA_MapFixedSize

JavaScript type

Boolean

C type

R3BOOL

Description

if true the mapping will not be scaled to target object size

Syntax


jsobj.SetMapFixedSize(value);
value = jsobj.GetMapFixedSize();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3MATBASEA_MapFixedSize, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3MATBASEA_MapFixedSize, &value, R3TAG_END);

MapFixedProportio

Attribute

MapFixedProportio

Identifier

R3MATBASEA_MapFixedProportio

JavaScript type

Boolean

C type

R3BOOL

Description

if true the mapping will not be stretched to target object proportions

Syntax


jsobj.SetMapFixedProportio(value);
value = jsobj.GetMapFixedProportio();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3MATBASEA_MapFixedProportions, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3MATBASEA_MapFixedProportions, &value, R3TAG_END);

NotUsed

Attribute

NotUsed

Identifier

R3MATBASEA_NotUsed

JavaScript type

Integer

C type

R3INT

Description

R3BOOL. Activates/disables rendering. Used if R3MATBASEA_ActiveNames is not given

Syntax


jsobj.SetNotUsed(value);
value = jsobj.GetNotUsed();


R3INT value = ...;
R3SetAttrs(r3obj, R3MATBASEA_NotUsed, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3MATBASEA_NotUsed, &value, R3TAG_END);

PreferredPriority

Attribute

PreferredPriority

Identifier

R3MATBASEA_PreferredPriority

JavaScript type

Integer

C type

R3INT

Description

recommended evaluation priority

Syntax


jsobj.SetPreferredPriority(value);
value = jsobj.GetPreferredPriority();


R3INT value = ...;
R3SetAttrs(r3obj, R3MATBASEA_PreferredPriority, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3MATBASEA_PreferredPriority, &value, R3TAG_END);


r3appobj *

Tags

Tags

R3MATBASEA_Renderer
R3MATBASEA_AniTag
R3MATBASEA_AniTagIsAngle
R3MATBASEA_ActiveNames
R3MATBASEA_RenderAll