IDA2Statics Interface

The IDA2Statics interface is the COM interface that extends the IDAStatics interface. From the IDA2Statics interface you can access all the methods listed in the DAStatics class in the Scripting Reference and in the IDAStatics interface in the COM/C++ Reference.

This section lists only those methods in IDA2Statics that you can't access from script but must access through the COM interface, typically using C++. Some of these methods, with an appended "Ex," specify arrays as a size and a fixed array, rather than as a VARIANT. Specifying arrays makes the methods easier to call in C++, but not using a VARIANT means you can't call them from script. Other methods, such as ImportDirect3DRMVisual, access an interface derived from IUnknown, which you can't do from script.

Note that to use ImportDirect3DRMVisual, ImportDirect3DRMVisualWrapped, ImportGeometryWrapped, and ImportGeometryWrappedAsync you must have Microsoft® DirectX® 6.x or later installed. You will not get an error if you use these functions without DirectX 6.x. They will simply have no effect.

You cannot construct 3-D DirectX Transform objects with ApplyDXTransformEx if you don't have DirectX 6.x or later installed. Instantiation of the DirectX Transform COM object will fail if you attempt to use 3-D transforms without DirectX 6.x or later.

This interface inherits from IDispatch. Like pure COM interfaces, such as IUnknown, IDispatch exposes objects, methods, and properties to applications. Unlike IUnknown, IDispatch members are identified with human-readable names, not as vtable indexes. IDispatch interfaces don't perform as well as pure COM interfaces.

IDA2Statics Methods

ApplyDXTransformEx Constructs a DADXTransformResult object from the given DirectX Transform object.
DAArrayEx2 Constructs a DAArray object that can be specified as changeable or not changeable.
ImportDirect3DRMVisual Creates a DAGeometry object from a Microsoft Direct3D® Retained Mode visual.
ImportDirect3DRMVisualWrapped Creates a DAGeometry object from a Direct3D Retained Mode visual. Same as ImportDirect3DRMVisual, except that it takes the texture wrap parameters.
ImportGeometryWrapped Creates a DAGeometry object from the geometry at the specified URL with the specified wrap.
ImportGeometryWrappedAsync Creates a DAImportationResult object whose Geometry property contains the asynchronously imported geometry from the specified URL with the specified wrap.
UnionMontageArrayEx Creates a montage behavior by combining the montages in the array.

IDA2Statics::ApplyDXTransformEx

IDA2Statics Interface

Constructs a DADXTransformResult object from the given DirectX Transform object and its inputs. You can access any DirectX Transform object from this method.

Note that to use 3-D transforms, you must have DirectX 6.x or later installed. To use some 2-D DirectX Transform effects, you must have optional DLLs installed. You can install these by choosing "Optional Transforms" when you install the DirectX Media SDK. See Using DirectX Transform Effects for a complete list of DirectX Transform effects and what additional software, if any, is required to use each. Instantiation of the DirectX Transform COM object will fail if you attempt to use transforms without the proper software installed.

Syntax

HRESULT ApplyDXTransformEx(
    IUnknown *DXTf,
    LONG numInputs,
    IDABehavior **inputs,
    IDANumber *evaluator,
    IDADXTransformResult **ppResult
);

Parameters

DXTf
[in] Pointer to the IUnknown of an object that supports the IDXTransform interface. You can create this object with CoCreateInstance(CLSID_Transform) or IDXTransformFactory::CreateTransform. This object is then used to create the DADXTransformResult object.
numInputs
[in] Size of the inputs array.
inputs
[in, size_is(numInputs)] Address of a pointer to an array of inputs (DABehavior objects) to the DirectX Transform object.
evaluator
[in] Pointer to a DANumber object describing how to map the DirectX Transform object's progress to time. DirectX Transform objects measure progress from 0 to 1, with 1 being complete. You might, for example, create a behavior that increments from 0 to 1 over five seconds, then stays at 1 for two seconds, then decrements back to 0 in five seconds and repeats. If you assign this behavior as the evaluator, the transform will display the same progress over time, transforming completely in five seconds, staying in that state for two seconds, and so on.
ppResult
[out] Address of a pointer to the DADXTransformResult object that is the result of the DirectX Transform object, its inputs, and the evaluator.

Return Value

Returns an HRESULT value that indicates the success of the method or the reason why it failed. This HRESULT depends on the implementation of the interface.

IDA2Statics::DAArrayEx2

IDA2Statics

Constructs a DAArray object that can be specified as changeable or not changeable. If it is changeable, you can add or remove elements with the IDAArray methods AddElement and RemoveElement.

Syntax

HRESULT DAArrayEx2(
    LONG s,
    IDABehavior *pBvrs[],
    DWORD dwFlags,
    IDAArray **bvr
);

Parameters

s
[in] Size of the DAArray object to be created.
pBvrs
[in, size_is(s)] Array of size s of behaviors that will be elements of the DAArray object being created.
dwFlags
[in] Flag indicating whether the array is changeable or not. The default is not changeable. Set dwFlags to DAARRAY_CHANGEABLE to specify that the array is changeable.
bvr
[out] Address of a pointer to the new DAArray object.

Return Value

Returns an HRESULT value that indicates the success of the method or the reason why it failed. This HRESULT depends on the implementation of the interface.

Remarks

A DAArray object is an array that holds behaviors that are all the same kind. A DATuple object is an array that can hold dissimilar behaviors.

See Also

IDAStatics::DAArrayEx, IDAStatics::DATupleEx

IDA2Statics::ImportDirect3DRMVisual

IDA2Statics

Creates a DAGeometry object from a Direct3D Retained Mode visual.

Note that to use ImportDirect3DRMVisual, you must have DirectX 6.x or later installed. You will not get an error if you use this function without DirectX 6.x. It will simply have no effect.

Syntax

HRESULT ImportDirect3DRMVisual(
    IUnknown *visual,
    IDAGeometry **bvr
);

Parameters

visual
[in] Pointer to the Direct3D Retained Mode visual. Can be a frame, mesh, progressive mesh, shadow, or texture.
bvr
[out] Address of a pointer to the DAGeometry object created from the Direct3D Retained Mode visual.

Return Value

Returns an HRESULT value that indicates the success of the method or the reason why it failed. This HRESULT depends on the implementation of the interface.

Remarks

Direct3D Retained Mode visuals are objects that can be rendered in scenes. Direct3D Retained Mode frames, meshes, progressive meshes, shadows, and textures are all visuals.

IDA2Statics::ImportDirect3DRMVisualWrapped

IDA2Statics

Creates a DAGeometry object from a Direct3D Retained Mode visual and enables you to specify texture wrap parameters.

Note To use ImportDirect3DRMVisualWrapped, you must have DirectX 6.x or later installed. You will not get an error if you use this function without DirectX 6.x. It will simply have no effect.

Syntax

HRESULT ImportDirect3DRMVisualWrapped(
    IUnknown *visual,
    LONG wrapType,
    double originX,
    double originY,
    double originZ,
    double zAxisX,
    double zAxisY,
    double zAxisZ,
    double yAxisX,
    double yAxisY,
    double yAxisZ,
    double texOriginX,
    double texOriginY,
    double texScaleX,
    double texScaleY,
    DWORD dwFlags,
    IDAGeometry **bvr
);

Parameters

visual
[in] Pointer to the Direct3D Retained Mode visual. Can be a frame, mesh, progressive mesh, shadow, or texture.
wrapType
[in] Type of wrap. Can be one of the following values.
  • D3DRMWRAP_FLAT
  • D3DRMWRAP_CYLINDER
  • D3DRMWRAP_SPHERE
  • D3DRMWRAP_CHROME
originX, originY, originZ
[in] The origin of the wrap.
zAxisX, zAxisY, zAxisZ
[in] The z-axis of the wrap.
yAxisX, yAxisY, yAxisZ
[in] The y-axis of the wrap.
texOriginX, texOriginY
[in] The origin of the texture.
texScaleX, texScaleY
[in] The scale factor of the texture.
dwFlags
[in] Flags that determine how the wrap is done. When the low bit of dwFlags is zero, all wrap parameters are passed to Direct3D Retained Mode with no modifications. When the low bit of dwFlags is one, the method does a relative wrap defined as follows (bbox is the axis-aligned bounding box of the imported visual):
origin(X,Y,Z) = bbox.min.(x,y,z)
texScaleX *= (bbox.max.x - bbox.min.x)
texScaleY *= (bbox.max.y - bbox.min.y)

If you have a normalized bbox with dimensions (1,1,1), when you pass in your texture scale, relative wrap will adjust your numbers to the actual size of the bbox, in addition to adjusting the origin of the wrap to the lower left front corner of the bbox.

bvr
[out] Address of a pointer to a DAGeometry object created from the Direct3D Retained Mode visual with the specified wrap.

Return Value

Returns an HRESULT value that indicates the success of the method or the reason why it failed. This HRESULT depends on the implementation of the interface.

Remarks

Direct3D Retained Mode visuals are objects that can be rendered in scenes. Direct3D Retained Mode frames, meshes, progressive meshes, shadows, and textures are all visuals.

IDA2Statics::ImportGeometryWrapped

IDA2Statics

Creates a DAGeometry object from a geometry (.x file) at the specified URL with the specified texture wrap parameters.

Note that to use ImportGeometryWrapped, you must have DirectX 6.x or later installed. You will not get an error if you use this function without DirectX 6.x. It will simply have no effect.

Syntax

HRESULT ImportGeometryWrapped(
    BSTR URL,
    LONG wrapType, 
    double originX,
    double originY,
    double originZ, 
    double zAxisX,
    double zAxisY,
    double zAxisZ,
    double yAxisX,
    double yAxisY,
    double yAxisZ, 
    double texOriginX,
    double texOriginY,
    double texScaleX,
    double texScaleY,
    DWORD dwFlags,
    IDAGeometry **ppGeometry
);

Parameters

URL
[in] String containing the path to the geometry to be downloaded (.x file).
wrapType
[in] The type of wrap. Can be one of the following values:
  • D3DRMWRAP_FLAT
  • D3DRMWRAP_CYLINDER
  • D3DRMWRAP_SPHERE
  • D3DRMWRAP_CHROME
originX, originY, originZ
[in] The origin of the wrap.
zAxisX, zAxisY, zAxisZ
[in] The z-axis of the wrap.
yAxisX, yAxisY, yAxisZ
[in] The y-axis of the wrap.
texOriginX, texOriginY
[in] The origin of the texture.
texScaleX, texScaleY
[in] The scale factor of the texture.
dwFlags
[in] Flags that determine how the wrap is done. When the low bit of dwFlags is zero, all wrap parameters are passed with no modifications. When the low bit of dwFlags is one, the method does a relative wrap defined as follows (bbox is the axis-aligned bounding box of the imported visual):
origin(X,Y,Z) = bbox.min.(x,y,z)
texScaleX *= (bbox.max.x - bbox.min.x)
texScaleY *= (bbox.max.y - bbox.min.y)
If you have a normalized bbox with dimensions (1,1,1), when you pass in your texture scale, relative wrap will adjust your numbers to the actual size of the bbox, in addition to adjusting the origin of the wrap to the lower left front corner of the bbox.
ppGeometry
[out] Address of a pointer to the DAGeometry object created from the data at the URL with the specified wrap.

Return Value

Returns an HRESULT value that indicates the success of the method or the reason why it failed. This HRESULT depends on the implementation of the interface.

IDA2Statics::ImportGeometryWrappedAsync

IDA2Statics

Creates a DAImportationResult object whose Geometry property contains the asynchronously imported geometry (.x file) from the specified URL with the specified wrap.

Note that to use ImportGeometryWrappedAsync, you must have DirectX 6.x or later installed. You will not get an error if you use this function without DirectX 6.x. It will simply have no effect.

Syntax

HRESULT ImportGeometryWrappedAsync(
    BSTR URL,
    LONG wrapType, 
    double originX,
    double originY,
    double originZ, 
    double zAxisX,
    double zAxisY,
    double zAxisZ,
    double yAxisX,
    double yAxisY,
    double yAxisZ, 
    double texOriginX,
    double texOriginY,
    double texScaleX,
    double texScaleY, 
    DWORD dwFlags,
    IDAGeometry *pGeoStandIn,
    IDAImportationResult **ppResult
);

Parameters

URL
[in] String containing the path to the geometry to be downloaded (.x file).
wrapType
[in] The type of wrap. Can be one of the following values:
  • D3DRMWRAP_FLAT
  • D3DRMWRAP_CYLINDER
  • D3DRMWRAP_SPHERE
  • D3DRMWRAP_CHROME
originX, originY, originZ
[in] The origin of the wrap.
zAxisX, zAxisY, zAxisZ
[in] The z-axis of the wrap.
yAxisX, yAxisY, yAxisZ
[in] The y-axis of the wrap.
texOriginX, texOriginY
[in] The origin of the texture.
texScaleX, texScaleY
[in] The scale factor of the texture.
dwFlags
[in] Flags that determine how the wrap is done. When the low bit of dwFlags is zero, all wrap parameters are passed with no modifications. When the low bit of dwFlags is one, the method does a relative wrap defined as follows (bbox is the axis-aligned bounding box of the imported visual):
origin(X,Y,Z) = bbox.min.(x,y,z)
texScaleX *= (bbox.max.x - bbox.min.x)
texScaleY *= (bbox.max.y - bbox.min.y)
If you have a normalized bbox with dimensions (1,1,1), when you pass in your texture scale, relative wrap will adjust your numbers to the actual size of the bbox, in addition to adjusting the origin of the wrap to the lower left front corner of the bbox.
pGeoStandIn
[out] Pointer to the DAGeometry object to be displayed while the data at the URL is loading.
ppResult
[out] Address of a pointer to the DAImportationResult object to created from the data at the URL with the specified wrap.

Return Value

Returns an HRESULT value that indicates the success of the method or the reason why it failed. This HRESULT depends on the implementation of the interface.

IDA2Statics::UnionMontageArrayEx

IDA2Statics Interface

Creates a montage behavior by combining the montages in the array. The new montage contains all elements of the original montages. The bounding box of a set of unioned montages is simply the union of the bounding boxes of each of the montages.

This method is an extension of the DAStatics function UnionMontageArray that allows you to specify an array size so you don't have to use a VARIANT for the array.

Syntax

HRESULT UnionMontageArrayEx(
    LONG mtgs_size,
    IDAMontage *mtgs,
    IDAMontage **ret
);

Parameters

mtgs_size
[in] The size of the mtgs array of DAMontage objects.
mtgs
[in, size_is(mtgs_size)] Pointer to the array of DAMontage objects.
ret
[out] Address of a pointer to the new DAMontage object that is the union of the montages in the array.

Return Value

Returns an HRESULT value that indicates the success of the method or the reason why it failed. This HRESULT depends on the implementation of the interface.


Top of Page Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.