txtr (lxtxtr.h)

From The Foundry MODO SDK wiki
Jump to: navigation, search
There are security restrictions on this page


Filter Interfaces

Texture locators have three different interfaces.

Texture Mapping Interface

'Evaluate' computes the texture coordinates using the texture mapping options. It sets the texture position packet.

'UVMap' returns the UV map name used in the case of UV projection mode, or NULL if no UV map is used. Returns false if the projection mode is not UVs. 'tile' and 'wrap' if provided are set with U & V tile and wrap options.

(1) SDK: TextureMapFilter::Evaluate, etc.
         LXxMETHOD(  void,
 Evaluate) (
         LXtObjectID              self,
         LXtObjectID              etor,
         LXtSampleVectorID        sv,
         double                  *res,
         int                      i);
 
         LXxMETHOD(  int,
 UVMap) (
         LXtObjectID              self,
         const char             **name,
         int                     *tile,
         double                  *wrap,
         int                     *proj,
         int                     *axis,
         double                  *offset,
         double                  *rot,
         int                     *udim,
         int                     *randomOffset,
         double                  *xfrm);
 
         LXxMETHOD(  int,
 VectorMap) (
         LXtObjectID              self,
         const char             **name);
 
         LXxMETHOD(  int,
 UVTBasis) (
         LXtObjectID              self,
         int                     *tangentType);

(2) SDK: LXu_TEXTUREMAPFILTER define
 #define LXu_TEXTUREMAPFILTER            "3DC4AA9C-DEF6-4794-B0BE-F23D2869BCDC"

Legacy Interface, retired in 11.2.

(3) SDK: TextureMapFilter1::Evaluate, etc.
         LXxMETHOD(  void,
 Evaluate) (
         LXtObjectID              self,
         LXtObjectID              etor,
         LXtSampleVectorID        sv,
         double                  *res,
         int                      i);
 
         LXxMETHOD(  int,
 UVMap) (
         LXtObjectID              self,
         const char             **name,
         int                     *tile,
         double                  *wrap,
         int                     *proj,
         int                     *axis,
         double                  *offset,
         double                  *rot,
         int                     *udim,
         int                     *randomOffset);
 
         LXxMETHOD(  int,
 VectorMap) (
         LXtObjectID              self,
         const char             **name);
 
         LXxMETHOD(  int,
 UVTBasis) (
         LXtObjectID              self,
         int                     *tangentType);

(4) SDK: LXu_TEXTUREMAPFILTER1 define
 #define LXu_TEXTUREMAPFILTER1           "81F4F08A-7A37-42dE-ACDE-FC5490E519C6"

Texture Spot Interface

'Evaluate' computes the spot size given the input spot size and the projection options.

'Count' returns the number of textures hitting the spot.

(5) SDK: TextureSpotFilter::Evaluate, etc.
         LXxMETHOD(  void,
 Evaluate) (
         LXtObjectID              self,
         LXtObjectID              etor,
         LXtSampleVectorID        sv,
         double                  *res);
 
         LXxMETHOD(  int,
 Count) (
         LXtObjectID              self,
         LXtSampleVectorID        sv);

(6) SDK: LXu_TEXTURESPOTFILTER define
 #define LXu_TEXTURESPOTFILTER           "179AD9C3-8B7B-4F91-8BB6-A23FAD3D153E"

Texture Falloff Interface

This interface computes the falloff amount at the given position.

(7) SDK: TextureFalloffFilter::Evaluate
         LXxMETHOD(  void,
 Evaluate) (
         LXtObjectID              self,
         LXtObjectID              etor,
         LXtSampleVectorID        sv,
         double                  *res,
         int                      i);

(8) SDK: LXu_TEXTUREFALLOFFFILTER define
 #define LXu_TEXTUREFALLOFFFILTER        "8F3154A6-AC4D-4610-96EF-B54E9611164B"

TextureMapFilter Interface Translator

(9) PRIV: Functions
 
 IxDECL_TextureMapFilter1_Evaluate (TextureMapFilterTr_ExportOld)
 {
         ILxTextureMapFilterID           ifc = XTransOther (xobj);
         ifc[0]->Evaluate (ifc, etor, sv, res, i);
 }
 
 IxDECL_TextureMapFilter1_UVMap (TextureMapFilterTr_ExportOld)
 {
         ILxTextureMapFilterID           ifc = XTransOther (xobj);
         return ifc[0]->UVMap (ifc, name, tile, wrap, proj, axis, offset, rot, udim, randomOffset, NULL);
 }
 
 IxDECL_TextureMapFilter1_VectorMap (TextureMapFilterTr_ExportOld)
 {
         ILxTextureMapFilterID           ifc = XTransOther (xobj);
         return ifc[0]->VectorMap (ifc, name);
 }
 
 IxDECL_TextureMapFilter1_UVTBasis (TextureMapFilterTr_ExportOld)
 {
         ILxTextureMapFilterID           ifc = XTransOther (xobj);
         return ifc[0]->UVTBasis (ifc, tangentType);
 }