Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

CGeometricSide Class Reference

#include <hyp.data.side.h>

Inheritance diagram for CGeometricSide::

IGeometricBase IGeometricSide List of all members.

Common Functions

See the Hyperion Pattern.

 CGeometricSide (hyp_ker::IUnknown *)
virtual ~CGeometricSide ()
virtual hyp_DECLARE_IUNKNOWN
hyp_ker::com_result 
NondelegatingQueryInterface (const hyp_ker::hypIID &, void **)
hyp_ker::com_result Init (void)
void FinalRelease (void)
hyp_ker::com_result CreateInstance (hyp_ker::IUnknown *,hyp_ker::CUnknown **)

IGeometricBase Interface

virtual t_size GetNumberOfVertices ()
virtual IGeometricVertexGetVertex (const t_label &Label)
virtual IGeometricVertexGetVertex (const t_real &X, const t_real &Y, const t_real &Z)
virtual t_label GetLabel (IGeometricVertex *pObject)
virtual void AddVertex (IGeometricVertex *, const t_label &)
virtual void DeleteVertex (const t_label &Label)
virtual IContainerKeyGetContainerOfVertices ()
virtual void SetFilter (const hyp_ker::hypIID *pIID)
virtual void ClearFilter ()

Detailed Description

This is the default implementation of the interface IGeometricSide.
CLSID
Here are the Class Indetifiers (CLSID) supported by the class:
Supported Interfaces
Here is the interfaces which are supported by the component.

    hyp_ker::com_result CGeometricSide::NondelegatingQueryInterface(const hyp_ker::hypIID& iid,void** ppv)
    {
            if(iid==IID_hypIGeometricSide) {
                    return FinishQI(static_cast<IGeometricSide*>(this),ppv);
            } else if(iid==IID_hypIGeometricBase) {
                    return FinishQI(static_cast<IGeometricBase*>(this),ppv);
            } else if(iid==IID_hypIContainer ||
                    iid==IID_hypIContainerKey ||
                    iid==IID_hypIContainerIterator) {
                    return m_spUnknownBase->QueryInterface(iid,ppv);
            } else {
                    return CUnknown::NondelegatingQueryInterface(iid,ppv);
            }
    }
    //DOXYTAG
Implementation Details
The only diference between the CGeometricSide component and the CGeometricBase component is that the CGeometricSide sets to true the visual property of the vertex during the insertion procedure. See AddVertex method.


Member Function Documentation

void CGeometricSide::AddVertex IGeometricVertex *   pObject,
const t_label &   Label
[virtual]
 

Adds a vertex to the IGeometricBase object.

Parameters:
pVertex   Vertex which is added
Label   Vertex Label of the new inserted vertex

Reimplemented from IGeometricBase.

virtual void CGeometricSide::ClearFilter   [inline, virtual]
 

Clears the filter.

Reimplemented from IGeometricBase.

virtual void CGeometricSide::DeleteVertex const t_label &   Label [inline, virtual]
 

Deletes the vertex associated to the IGeometricBase object

Reimplemented from IGeometricBase.

virtual IContainerKey* CGeometricSide::GetContainerOfVertices   [inline, virtual]
 

Gives the IContainerKey objects which handles the vertices.

Remarks:
The implmentation is not strongly imposed to implement this service.

Reimplemented from IGeometricBase.

virtual t_label CGeometricSide::GetLabel IGeometricVertex *   pObject [inline, virtual]
 

Gets the label of the vertex.

Invariant:
The implementation generate an error if the vertex is not associated with the IGeometricBase object.

Reimplemented from IGeometricBase.

virtual t_size CGeometricSide::GetNumberOfVertices   [inline, virtual]
 

Gets the number of the associated vertices.

Reimplemented from IGeometricBase.

virtual IGeometricVertex* CGeometricSide::GetVertex const t_real &   X,
const t_real &   Y,
const t_real &   Z
[inline, virtual]
 

Gets the vertex which has the specified coordinates.

Parameters:
X   Coordinate of the vertex along the X-axe
Y   Coordiante of the vertex along the Y-axe
Z   Coodinate of the vertex along the Z-axe

Reimplemented from IGeometricBase.

virtual IGeometricVertex* CGeometricSide::GetVertex const t_label &   Label [inline, virtual]
 

Gets the vertex which has the specified label.

Parameters:
Label   Vertex Label of the vertex

Reimplemented from IGeometricBase.

virtual void CGeometricSide::SetFilter const hyp_ker::hypIID *   pIID [inline, virtual]
 

Adds a new filter. If the user want inserted a new vertex afterwards, a error will be generated only whether the vertex doesn't support all the interfaces of the filter.

Remarks:
The implementation could memorize the last call of this service.
Parameters:
pIID   pointer to the Interface ID

Reimplemented from IGeometricBase.


The documentation for this class was generated from the following files:
Top of Page
written by Pierre Rebours © 2000-2001. Terms of Use.