Alphabetical Class List   File List   Compound Members  

CHoops3dStreamCtrl Class Reference

! The CHoops3dStreamCtrl class provides the properties and methods that allows the control to communicate with its container More...

#include <Hoops3dStreamCtrl.h>

List of all members.

Public Methods

HWND Create (HWND hWndParent, RECT &rcPos, LPCTSTR szWindowName=NULL, DWORD dwStyle=WS_CHILD|WS_VISIBLE, DWORD dwExStyle=0, UINT nID=0)
HRESULT OnDraw (ATL_DRAWINFO &di)
HCtrlViewGetHoopsView ()
void DestroyHNetClient ()
bool RestoreCamera ()
void Set2dModel (bool modeltype)
void SetNoOrbit (bool noorbit)
CDataLoaderGetDataLoader ()

Static Public Methods

HRESULT WINAPI UpdateRegistry (BOOL bRegister)

Public Attributes

STDMETHOD( HATL_Open_Segment )(BSTR segment)
STDMETHOD( Update )()
STDMETHOD( HATL_Set_Rendering_Options )(BSTR rendering_options)
STDMETHOD( HATL_Close_Segment )()
STDMETHOD( OpenModelSegment )()
STDMETHOD( OpenSceneSegment )()
STDMETHOD( HATL_Set_Visibility )(BSTR vis)
STDMETHOD( SetFramerateMode )(BOOL onoff)
STDMETHOD( SetBackplaneCullingMode )(BOOL onoff)
STDMETHOD( SetPolygonHandednessNone )()
STDMETHOD( SetPolygonHandednessRight )()
STDMETHOD( SetPolygonHandednessLeft )()
STDMETHOD( AntialiaseScene )()
STDMETHOD( SetShadowMode )(BOOL onoff)
STDMETHOD( SetProjectionModeOrthographic )()
STDMETHOD( SetProjectionModePerspective )()
STDMETHOD( SaveRestoreMarkup )(int layernum)
STDMETHOD( SetCameraToIsometric )()
STDMETHOD( SetCameraToPlaneYX )()
STDMETHOD( SetCameraToPlaneZY )()
STDMETHOD( SetCameraToPlaneZX )()
STDMETHOD( SetCameraToPlaneYZ )()
STDMETHOD( SetCameraToPlaneXZ )()
STDMETHOD( SetCameraToPlaneXY )()
STDMETHOD( InsertCuttingPlane )()
STDMETHOD( SetRenderModeHiddenLine )()
STDMETHOD( SetRenderModeWireframe )()
STDMETHOD( SetRenderModeGouraud )()
STDMETHOD( SetRenderModeFlat )()
STDMETHOD( SetRenderModeShaded )()
STDMETHOD( SetOperator )(BSTR operator_name)
STDMETHOD( SetBackgroundColors )(float r_top, float g_top, float b_top, float r_bottom, float g_bottom, float b_bottom, int percent)
STDMETHOD( get_FileType )(BSTR *pVal)
STDMETHOD( put_FileType )(BSTR newVal)
STDMETHOD( get_NoOrbit )(BOOL *pVal)
STDMETHOD( put_NoOrbit )(BOOL newVal)
STDMETHOD( put_Embed )(BOOL newVal)
STDMETHOD( get_CameraParameters )(BSTR *pVal)
STDMETHOD( SetCamera )(float px, float py, float pz, float tx, float ty, float tz, float ux, float uy, float uz, float width, float height)
STDMETHOD( FitWorld )()
STDMETHOD( get_CurrentOperator )(BSTR *pVal)
STDMETHOD( AbortDownload )()
STDMETHOD( get_DownloadDataMax )(long *pVal)
STDMETHOD( get_DownloadDataReceived )(long *pVal)
STDMETHOD( get_DLinProgress )(BOOL *pVal)
STDMETHOD( CreateSession )(BSTR Session_Name, BSTR Session_Password, BSTR Client_Name, BSTR Server_Admin_Password)
STDMETHOD( DisconnectFromServer )()
STDMETHOD( get_ServerIsConnected )(BOOL *pVal)
STDMETHOD( DisconnectFromSession )()
STDMETHOD( get_ClientIsConnected )(BOOL *pVal)
STDMETHOD( SendChatMessage )(BSTR client, BSTR message)
STDMETHOD( get_NextChatMessage )(BSTR *pVal)
STDMETHOD( get_ChatMessagesAvailable )(long *pVal)
STDMETHOD( HandleChatProcessing )(BOOL h)
STDMETHOD( get_ClientListRefreshed )(BOOL *pVal)
STDMETHOD( get_NextClient )(BSTR *pVal)
STDMETHOD( StartClientEnumeration )()
STDMETHOD( RequestControlToken )(BOOL req)
STDMETHOD( get_HasControlToken )(BOOL *pVal)
STDMETHOD( StartSessionEnumeration )()
STDMETHOD( get_NextSession )(BSTR *pVal)
STDMETHOD( JoinSession )(BSTR session_name, BSTR session_password, BSTR client_name)
STDMETHOD( ConnectToServer )(BSTR Address, BSTR Port, BSTR Password)
STDMETHOD( get_Filename )(BSTR *pVal)
STDMETHOD( put_Filename )(BSTR newVal)
STDMETHOD( get_ControlActive )(BOOL *pVal)
STDMETHOD( UIDeactivate )(void)
STDMETHOD( InPlaceDeactivate )(void)

Protected Methods

void WriteFileToArchive (LPSTREAM pStm)
void ReadFileFromArchive (LPSTREAM pStm)
void InitModel ()
void StartDownload ()
void LocalSetOperator (HBaseOperator *NewOperator)

Protected Attributes

HCtrlViewm_pView
HCtrlDBm_pHDB
HBaseModel * m_pModel
CDataLoaderm_pDataLoader
bool m_bMetaPrint
bool m_bFastPrint
bool m_bUseAntialiasing
int m_MetafileType
bool m_bClipboardTruecolor
BSTR m_Filename
bool m_bFilenameChanged
bool m_bEmbed
bool m_bIs2dModel
bool m_bNoOrbit


Detailed Description

! The CHoops3dStreamCtrl class provides the properties and methods that allows the control to communicate with its container

CHoops3dStreamCtrl provides most of the functionality for the ATL control. It encapsulates the HOOPS view as well as the HOOPS model object. By subclassing from a large number of ATL template classes it also provides support for serialization, embedding and other control specific features.


Member Function Documentation

HWND CHoops3dStreamCtrl::Create HWND    hWndParent,
RECT &    rcPos,
LPCTSTR    szWindowName = NULL,
DWORD    dwStyle = WS_CHILD|WS_VISIBLE,
DWORD    dwExStyle = 0,
UINT    nID = 0
 

Overloaded "Create" Function. Initializes various class members.

void CHoops3dStreamCtrl::DestroyHNetClient  
 

Delete HNet Client Object

CDataLoader* CHoops3dStreamCtrl::GetDataLoader   [inline]
 

Returns Pointer to DataLoader

Returns:
DataLoader Pointer

HCtrlView* CHoops3dStreamCtrl::GetHoopsView  
 

Get HCtrlView object

Returns:
HCtrlView Pointer

void CHoops3dStreamCtrl::InitModel   [protected]
 

initial HOOPS model

void CHoops3dStreamCtrl::LocalSetOperator HBaseOperator *    NewOperator [protected]
 

dchange operator

HRESULT CHoops3dStreamCtrl::OnDraw ATL_DRAWINFO &    di
 

Message: OnDraw message handler

Parameters:
di  drawinfo structure
Returns:
HRESULT

void CHoops3dStreamCtrl::ReadFileFromArchive LPSTREAM    pStm [protected]
 

deserialization of control data

bool CHoops3dStreamCtrl::RestoreCamera  
 

Restore Camera from stored values

Returns:
true = camera has been restored, false = camera could not be restored

void CHoops3dStreamCtrl::Set2dModel bool    modeltype
 

Set file type of currently loaded file (2d or 3d)

Parameters:
modeltype  true = 2d model , false = 3d model

void CHoops3dStreamCtrl::SetNoOrbit bool    noorbit
 

Enable/Disable orbit operator selectability

Parameters:
noorbit  true = orbit operator is deselected and greyed out in right click menu, orbit operator not grayed out

void CHoops3dStreamCtrl::StartDownload   [protected]
 

download new file

HRESULT WINAPI CHoops3dStreamCtrl::UpdateRegistry BOOL    bRegister [inline, static]
 

Registry "Patch" Function that ensures IDL file gets correctly processed

void CHoops3dStreamCtrl::WriteFileToArchive LPSTREAM    pStm [protected]
 

serialization of control data


Member Data Documentation

STDMETHOD( CHoops3dStreamCtrl::AbortDownload)()
 

Property: Abort download of current stream file

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::AntialiaseScene)()
 

Method: antialiase current scene

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::ConnectToServer)(BSTR Address, BSTR Port, BSTR Password)
 

Property: Connect to specified server

Parameters:
Address  Server Address (usually IP address)
Port  Server Port (only for TCP/IP)
Password  Server Password
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::CreateSession)(BSTR Session_Name, BSTR Session_Password, BSTR Client_Name, BSTR Server_Admin_Password)
 

Property: Create new HNet Session

Parameters:
Session_Name  Name of session
Session_Password  Password session
Client_Name  Client Name
Server_Admin_Password  Server Admin Password (necessary for session creation)
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::DisconnectFromServer)()
 

Property: Disconnect from HNet server

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::DisconnectFromSession)()
 

Property: Disconnect from current HNet session

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::FitWorld)()
 

Property: Fit camera to scene extents

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_CameraParameters)( BSTR *pVal)
 

Property: Get camera parameters

Parameters:
pVal  returns current camera position, target, up-vector, width, height as string
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_ChatMessagesAvailable)( long *pVal)
 

Property: Get number of chat messages that can be retrieved

Parameters:
pVal  number of pending chat messages
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_ClientIsConnected)( BOOL *pVal)
 

Property: Get client is connected state

Parameters:
pVal  true = HNet client is connected to session, false = HNet client is not connected to session
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_ClientListRefreshed)( BOOL *pVal)
 

Property: Retrieve if client list has been refreshed

Parameters:
pVal  true = client list has not been refreshed, false = client list has not been refreshed
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_ControlActive)( BOOL *pVal)
 

Property: Get State of Control in progress state

Parameters:
pVal  true = control window is visible, false = control window is not visible
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_CurrentOperator)( BSTR *pVal)
 

Property: Get name of current operator \pVal operator name

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_DLinProgress)( BOOL *pVal)
 

Property: Get download in progress state

Parameters:
pVal  true = streaming in progress, false = no streaming in progress
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_DownloadDataMax)( long *pVal)
 

Property: Get size of currently downloading file

Parameters:
pVal  file size
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_DownloadDataReceived)( long *pVal)
 

Property: Get amount of data already dowloaded for currently donwloading file

Parameters:
pVal  amount of data already donwloaded
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_Filename)( BSTR *pVal)
 

Property: Get name of currently loaded file

Parameters:
pVal  name of file
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_FileType)( BSTR *pVal)
 

Property: Get current file type

Parameters:
pVal  file type (either 2dmodel or 3dmodel)
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_HasControlToken)( BOOL *pVal)
 

Property: Get state of control token for this client

Parameters:
pVal  true = client has control token, false = client does not have control token
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_NextChatMessage)( BSTR *pVal)
 

Property: Retrieve next chat message that has been received from a client of the current session

Parameters:
pVal  text of chat message
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_NextClient)( BSTR *pVal)
 

Property: Get next client name

Parameters:
pVal  enumerate next client name
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_NextSession)( BSTR *pVal)
 

Property: Get next session name

Parameters:
pVal  enumerate next session name
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_NoOrbit)( BOOL *pVal)
 

Property: Get no orbit operator flag

Parameters:
pVal  true = no orbit operator allowed, false = orbit operator allowed
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::get_ServerIsConnected)( BOOL *pVal)
 

Property: Get Server is connected state

Parameters:
pVal  true = HNet server connection is established, false = no HNet server connection established
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::HandleChatProcessing)(BOOL h)
 

Property: Set handle chat messages state

Parameters:
h  true = allow chat message processing, false = do not allow chat message processing
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::HATL_Close_Segment)()
 

Method: HC_Close_Segment wrapper

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::HATL_Open_Segment)(BSTR segment)
 

Method: HC_Open_Segment wrapper

Parameters:
segment  segment name
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::HATL_Set_Rendering_Options)(BSTR rendering_options)
 

Method: HC_Set_Rendering_Options wrapper

Parameters:
rendering_options  rendering options string
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::HATL_Set_Visibility)(BSTR vis)
 

Method: HC_Set_Visibility wrapper

Parameters:
vis  visibility options string
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::InPlaceDeactivate)(void)
 

Overloaded Internal Method

STDMETHOD( CHoops3dStreamCtrl::InsertCuttingPlane)()
 

Method: insert interactive cutting plane

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::JoinSession)(BSTR session_name, BSTR session_password, BSTR client_name)
 

Property: Join specified session

Parameters:
session_name  Name of session
session_password  Password for specified session
client_name  Desired client name
Returns:
HRESULT

bool CHoops3dStreamCtrl::m_bClipboardTruecolor [protected]
 

Clipboard is truecolor

bool CHoops3dStreamCtrl::m_bEmbed [protected]
 

indicates if control should be embedded in it's container

bool CHoops3dStreamCtrl::m_bFastPrint [protected]
 

Fast Printing flag

bool CHoops3dStreamCtrl::m_bFilenameChanged [protected]
 

indicates changed filename

bool CHoops3dStreamCtrl::m_bIs2dModel [protected]
 

indicates if loaded model is 2d or 3d type

bool CHoops3dStreamCtrl::m_bMetaPrint [protected]
 

Metafile Printing flag

bool CHoops3dStreamCtrl::m_bNoOrbit [protected]
 

indicates if loaded model is 2d or 3d type

bool CHoops3dStreamCtrl::m_bUseAntialiasing [protected]
 

Use Antialiasing flag

BSTR CHoops3dStreamCtrl::m_Filename [protected]
 

name of currently loaded file

int CHoops3dStreamCtrl::m_MetafileType [protected]
 

Metafile Type (EMF/WMF)

CDataLoader* CHoops3dStreamCtrl::m_pDataLoader [protected]
 

Pointer to Dataloader Class

HCtrlDB* CHoops3dStreamCtrl::m_pHDB [protected]
 

Pointer to HOOPS Database Object

HBaseModel* CHoops3dStreamCtrl::m_pModel [protected]
 

Pointer to HOOPS Model Object

HCtrlView* CHoops3dStreamCtrl::m_pView [protected]
 

Pointer to HOOPS View Object

STDMETHOD( CHoops3dStreamCtrl::OpenModelSegment)()
 

Method: open model segment

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::OpenSceneSegment)()
 

Method: open scene segment

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::put_Embed)( BOOL newVal)
 

Property: Set control embed state

Parameters:
newVal  true = will be embedded, false = will not be embedded
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::put_Filename)( BSTR newVal)
 

Property: Set name of file for download

Parameters:
newVal  name of file
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::put_FileType)( BSTR newVal)
 

Property: Set current file type

Parameters:
newVal  file type (either 2dmodel or 3dmodel)
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::put_NoOrbit)( BOOL newVal)
 

Property: Set no orbit operator flag

Parameters:
newVal  true = no orbit operator allowed, false = orbit operator allowed
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::RequestControlToken)(BOOL req)
 

Property: Request or release control token for current session

Parameters:
req  true = request control token, false = release control token
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SaveRestoreMarkup)(int layernum)
 

Method: save/restore markup layer

Parameters:
layernum  markup layer
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SendChatMessage)(BSTR client, BSTR message)
 

Property: Send chat message to client

Parameters:
client  client to send message to
message  message text
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetBackgroundColors)(float r_top, float g_top, float b_top, float r_bottom, float g_bottom, float b_bottom, int percent)
 

Method: set window background colors

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetBackplaneCullingMode)(BOOL onoff)
 

Method: Turn backplane culling on/off

Parameters:
onoff  true = backplane culling on, false = backplane culling off
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetCamera)(float px, float py, float pz, float tx, float ty, float tz, float ux, float uy, float uz, float width, float height)
 

Property: Set camera parameters

Parameters:
px  camera position x parameter
py  camera position y parameter
pz  camera position z parameter
tx  camera target x parameter
ty  camera target y parameter
tz  camera target z parameter
ux  camera up-vector x parameter
uy  camera up-vector y parameter
uz  camera up-vector z parameter
width  camera width
height  camera height
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetCameraToIsometric)()
 

Method: set isometric camera view

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetCameraToPlaneXY)()
 

Method: set XY camera view

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetCameraToPlaneXZ)()
 

Method: set XZ camera view

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetCameraToPlaneYX)()
 

Method: set YX camera view

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetCameraToPlaneYZ)()
 

Method: set YZ camera view

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetCameraToPlaneZX)()
 

Method: set ZX camera view

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetCameraToPlaneZY)()
 

Method: set ZY camera view

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetFramerateMode)(BOOL onoff)
 

Method: Turn framerate logic on/off

Parameters:
onoff  true = framerate on, false = framerate off
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetOperator)(BSTR operator_name)
 

Method: set operator

Parameters:
operator_name  name of operator (as defined in HOp...GetName()
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetPolygonHandednessLeft)()
 

Method: set polygon handedness left

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetPolygonHandednessNone)()
 

Method: Set no polygon handedness

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetPolygonHandednessRight)()
 

Method: Set polygon handedness right

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetProjectionModeOrthographic)()
 

Method: set orthographic projection

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetProjectionModePerspective)()
 

Method: set perpective projection

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetRenderModeFlat)()
 

Method: set flat render mode

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetRenderModeGouraud)()
 

Method: set gouraud render mode

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetRenderModeHiddenLine)()
 

Method: set hidden line render mode

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetRenderModeShaded)()
 

Method: set shaded render mode

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetRenderModeWireframe)()
 

Method: set wireframe render mode

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::SetShadowMode)(BOOL onoff)
 

Method: Turn smooth shadow on/off

Parameters:
onoff  true = shadow on, false = shadow off
Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::StartClientEnumeration)()
 

Property: Start enumeration of all clients of current session

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::StartSessionEnumeration)()
 

Property: Start enumeration of all session on the connected server

Returns:
HRESULT

STDMETHOD( CHoops3dStreamCtrl::UIDeactivate)(void)
 

Overloaded Internal Method

STDMETHOD( CHoops3dStreamCtrl::Update)()
 

Method: Update_Display wrapper

Returns:
HRESULT


The documentation for this class was generated from the following file:


Copyright © 2002 Tech Soft 3D