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

IGeometricBase Struct Reference

#include <hyp.fem.interfaces.h>

Inheritance diagram for IGeometricBase::

CGeometricBase CGeometricSide List of all members.

Public Methods

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

Detailed Description

Interface which described the geometric data of the body. The interface is also referred as a Geometrical Data.

Base class which provides some features commun to several Geometrical Data. Actually a object, whose its dimension is upper than one, could be described by a cluster of vertices. For instance the cube could be defined by 6 vertices plus some pieces of information to known, for instance, how to connect these vertices together.

In this package we suppose that is enough to give a unique number to each vertex to rebuild the basic shapes like a cube from scratch. That's why each vertices inserted has a label, called Vertex Label.

Invariants
Here are the listing of the invariants. The implementation have to follow these invariant.
Key words
See also the following key words:
IID
Here is the Interface Identifier (IID) of the interface:


Member Function Documentation

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

Adds a vertex to the IGeometricBase object.

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

Reimplemented in CGeometricBase, and CGeometricSide.

virtual void IGeometricBase::ClearFilter   [pure virtual]
 

Clears the filter.

Reimplemented in CGeometricBase, and CGeometricSide.

virtual void IGeometricBase::DeleteVertex const t_label &   Label [pure virtual]
 

Deletes the vertex associated to the IGeometricBase object

Reimplemented in CGeometricBase, and CGeometricSide.

virtual IContainerKey* IGeometricBase::GetContainerOfVertices   [pure virtual]
 

Gives the IContainerKey objects which handles the vertices.

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

Reimplemented in CGeometricBase, and CGeometricSide.

virtual t_label IGeometricBase::GetLabel IGeometricVertex *   pObject [pure virtual]
 

Gets the label of the vertex.

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

Reimplemented in CGeometricBase, and CGeometricSide.

virtual t_size IGeometricBase::GetNumberOfVertices   [pure virtual]
 

Gets the number of the associated vertices.

Reimplemented in CGeometricBase, and CGeometricSide.

virtual IGeometricVertex* IGeometricBase::GetVertex const t_real &   X,
const t_real &   Y,
const t_real &   Z
[pure 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 in CGeometricBase, and CGeometricSide.

virtual IGeometricVertex* IGeometricBase::GetVertex const t_label &   Label [pure virtual]
 

Gets the vertex which has the specified label.

Parameters:
Label   Vertex Label of the vertex

Reimplemented in CGeometricBase, and CGeometricSide.

virtual void IGeometricBase::SetFilter const hyp_ker::hypIID *   pIID [pure 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 in CGeometricBase, and CGeometricSide.


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