IView2 Interface
- Enable
- GetEnableFlag
- Reset
- ResetEx
- GetViewType
- SetViewType
- AddExternalModel
- ShowHideAll
- GoTo
- GetGraphicItem
IView2 interface allows enabling or disabling functionality related to the
viewing properties of the relevant display window. Currently it controls
disabling and enabling of Viewing mouse transformations ( Pan/Rotate/Zoom) and
enabling/disabling of highlighting of the current
object in "Modify"
mode (See IViewModal). By default all types of viewing transformations are
enabled.
IView2 can be queried from IView interface
See also Concepts of 3D Graphics, Modal sample,
Interface List
HRESULT Enable( int nFlags, VARIANT_BOOL bEnable )
Parameters
nFlags -[in] flags indicating the
functionality to enable or disable. See remarks.
bEnable - [in] . The functionality will be enabled
(default) if this parameter is true and disabled otherwise.
Returns
- S_OK in case of
success.
Remarks
nFlags parameter can be one of
EEnableBit members: EEnableBit.eEnablePan ( value=1 ), EEnableBit.eEnableZoom
(value = 2), EEnableBit.eEnableRotate (value=4), EEnableBit.eEnableHighLightSurface (value=512), EEnableBit.eEnableTransparency
(value=1024) or OR-ed combination of them. .
Using this method with the first three values of the nFlags
allows disabling of Pan/Zoom/Rotate viewing manipulations
performed on mouse movements. EEnableBit.eEnableHighLightSurface flags enables or disables highlighting
the current object in "Modify"
mode (See IViewModal and IModel2)).
EEnableBit.eEnableTransparency (value=1024) enables rendering of objects with
alpha material color component < 1 as transparent
EEnableBit.eEnablePerspectiveProjection (value=2048) changes view to prospective mode,
where objects, which are further from the viewer appear smaller on the screen.
Prospective mode is recommended for viewing only and is not fully supported in
this release. Contact us for more information.
EEnableBEEnableBit.eEnableNormals (value=4096) turns on / off visibility on normals
in the 3D view
HRESULT GetEnableFlag( int nFlag, VARIANT_BOOL *pbEnable )
Parameters
nFlag - [in] flag to retrieve.
pbEnable - [out] pointer to a Boolean variable,
which will be set to true if the flag is enabled and false otherwise.
Return Values
- S_OK in case of
success.
- Remarks
-
- This method returns the current value of the flag. See remarks for the
previous method.
HRESULT Reset(VARIANT_BOOL redraw)
Parameters
redraw - [in] if false the
control's window will not be redrawn.
Return Values
S_OK in case of success.
Remarks
This method resets zoom of the view to fit the model into the window and
sets point of view to default. The method can be used to programmatically
restore initial zoom and orientation after extensive viewing transformations.
It is also useful to fit model into the view when size of the model has been
changed programmatically. redraw parameter can be used to avoid
flickering before some programmatic manipulations of the view.
HRESULT ResetEx(EViewReset
action)
Parameters
action - [in] Type of reset to
perform
Remarks
When action is
eViewResetAll the result is equivalent to call Reset(false) of the previous
method.
When action is
eViewResetVolume the model will be refit into the window to be fully visible
as if on the start of the application, but its current orientation will be
preserved.
In more technical terms it means that only
Viewing Volume will be modified to center it around the model. Position and
orientation of Global and Eye frames will remain
unchanged.
HRESULT GetViewType(int *type)
Parameters
type - [out, retval] Current type of
the view. Possible return values are enumerated in
EViewType
enumeration
Remarks
Returns the current type of the view. Possible types are enumerated in
EViewType enumeration
HRESULT SetViewType(int type)
Parameters
type - [in] Type of view to
activate. Possible types are enumerated in
EViewType
enumeration
Remarks
This method is not supported in this version
HRESULT AddExternalModel(IModel *model)
Parameters
model - [in]
IModel implemented by an external model. See remarks.
Remarks
The method attaches model as an external model to the
component which implements this interface. When there is one or more external
models attached to the component where this IView2 was queried from on every
UpdateSurface call all objects of
all external models are replicated and the new copies are added to the main
model of the component, which is the model returned by
GetModel() method. The replicas added by
the pervious call to UpdateSurface
are removed before the operation.
The above mechanism allows incorporating model loaded / created independently of
the current component or creating multiple views of the same model probably with
different display type or point of view.
Note that objects of the external models are. added "By Value", which means that
any modifications made to the external model appear in this component only after
an UpdateSurface call, not
automatically.
HRESULT ShowHideAll(VARIANT_BOOL show)
Remarks
Shows or hides all items in the model
HRESULT GoTo(IItem* iObject)
Remarks
Performs pan and zoom as necessary to focus on the object ( more precisely to fit
the object in the window with default margins). Orientation of the view remains
the same
HRESULT GetGraphicItem(IObject_KC* object, IGraphicItem** item)
Creates a graphic item for the object and attaches this view to it
|