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

IGeometricObject Struct Reference

#include <hyp.fem.interfaces.h>

Inheritance diagram for IGeometricObject::

CGeometricObject List of all members.

Public Methods

virtual IGeometricSideCreateSide (const t_label &Label, const t_label_enum &LabelEnum)=0
virtual IGeometricSideCreateSide (const t_label &Label)=0
virtual IGeometricVertexCreateVertex (const t_label &Label, const t_real &X, const t_real &Y, const t_real &Z)=0
virtual IGeometricVertexCreateVertex (const t_label &Label)=0
virtual void AddSide (IGeometricSide *, const t_label &Label)=0
virtual void DeleteSide (const t_label &Label)=0
virtual IContainerKeyGetContainerOfSides ()=0
virtual t_size GetNumberOfSides ()=0
virtual IGeometricSideGetSide (const t_label &Side)=0

Detailed Description

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

Defines a set of services which handles :

Again, the sides in the collection is identified by a unique label called Side 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 IGeometricObject::AddSide IGeometricSide *   pObject,
const t_label &   Label
[pure virtual]
 

Adds a side to the component.

Parameters:
pObject   Side added
Label   Label of the side inserted

Reimplemented in CGeometricObject.

virtual IGeometricSide* IGeometricObject::CreateSide const t_label &   Label [pure virtual]
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

This side doesn't have vertices.

Reimplemented in CGeometricObject.

virtual IGeometricSide* IGeometricObject::CreateSide const t_label &   Label,
const t_label_enum &   LabelEnum
[pure virtual]
 

Creates a new side. The created sides is attached to the IGeometricObject object. Moreover the side attaches a cluster of vertices. The vertices must be inserted in the IGeometricObject object.

Parameters:
Label   Side label of the created side
LabelEnum   Enumeration of Vertex Labels which must be attached to the created side.
Todo:
The order of the enumeration is important

Reimplemented in CGeometricObject.

virtual IGeometricVertex* IGeometricObject::CreateVertex const t_label &   Label [pure virtual]
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

The coordinates of the vertex are not explicitly initialized.

Invariant:
The implmentation of the vertex object must initialize the coordinate at the creation. For instance {0,0,0}

Reimplemented in CGeometricObject.

virtual IGeometricVertex* IGeometricObject::CreateVertex const t_label &   Label,
const t_real &   X,
const t_real &   Y,
const t_real &   Z
[pure virtual]
 

Creates a new vertex. The created vertex is attached to the IGeometricObject object.

Parameters:
Label   Vertex label of the created vertex
X   Coordianate of the vertex along the X-axe
Y   Coordinate of the vertex along the Y-axe
Z   Coodinate of the vertex along the Z-axe

Reimplemented in CGeometricObject.

virtual void IGeometricObject::DeleteSide const t_label &   Label [pure virtual]
 

Delates a side associated to a label.

Parameters:
Label   Label of the side

Reimplemented in CGeometricObject.

virtual IContainerKey* IGeometricObject::GetContainerOfSides   [pure virtual]
 

Gets the container of sides.

Reimplemented in CGeometricObject.

virtual t_size IGeometricObject::GetNumberOfSides   [pure virtual]
 

Gets the numer of sides attached to the component.

Reimplemented in CGeometricObject.

virtual IGeometricSide* IGeometricObject::GetSide const t_label &   Label [pure virtual]
 

Gets the side associated to the label.

Parameters:
Label   Label of the side

Reimplemented in CGeometricObject.


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