A 3D Dynamic Geometry Software

Calques 3D C++



CLocus3D Class Reference
[Calques 3D - Geometrical Objects]

Inheritance diagram for CLocus3D:

Inheritance graph
Collaboration diagram for CLocus3D:

Collaboration graph

List of all members.


Detailed Description

CLocus3D.

Public Member Functions

virtual UINT GetNameID () const
 Get the resource ID of the string containing the default name of the object.
virtual UINT GetHelpID () const
 Get the resource ID of the string containing the designation of the object.
virtual UINT GetDefID () const
 Get the resource ID of the string containing the definition of the object.
virtual void Serialize (CArchive &ar)
 Store and load the object into and from an archive.
virtual CObject3DCopyObject ()
 Create a clone of this object.
virtual CxObject3DSetGetParents ()
 Get all the parents of this object from the dependence graph.
virtual CString GetObjectDef ()
 Get the definition of the object.
virtual int SetDepth ()
 Update the depth of this object in the dependence graph.
virtual BOOL ChangeParent (CObject3D *pOld, CObject3D *pNew, BOOL bUpGraph=FALSE)
 Change one of the parents of the object.
virtual DWORD isA () const
 Get the identifier representing the type of the object.
virtual BOOL IsEqual (CObject3D &other)
 Verify if this object is analytically identical to another one.
virtual BOOL IsInActiveArea (CPoint)
 Verify if the cursor lies within the active region of this object.
virtual CRgn * InvalideRect ()
 Create a GDI region covering this object.
virtual UINT CalculConceptuel ()
 Recompute the analytical representation of the object.
virtual void CalculVisuel (CVisualParam *)
 Recompute the graphical representation of the object (in the universe or tracing view).
virtual void Draw (CDC *, CVisualParam *, BOOL bSM=FALSE)
 Method CObject3D::Draw.
virtual void Draw3DRendering (int nVolMode)
 Method CObject3D::Draw3DRendering.
virtual CString ExportSymbolic (int nFormat)
 Method CObject3D::ExportSymbolic.

Public Attributes

CPoint3Dm_pSource
 Base-point of the locus.
CPoint3Dm_pLocus
 Reference point of the locus.
int nDeltaT
 Size of the locus (ie nb of points used in calculation).
int m_nMaxLenght
 Maximum length authorized for the mesh elements.

Private Member Functions

void GenerateLinear (CxObject3DSet *pDirectList)
 Generate the linear distribution of the mesh's points.
void GenerateSurface (CxObject3DSet *pDirectList)
 Generate the planar distribution of the mesh's points.
void GenerateMesh ()
 Create the mesh from the linear or planar distribution.

Private Attributes

CArrayEx< CVArray, CVArray & > mesh3D
 Two-dimensional list of Vector4.
CArray< CLocusMesh, CLocusMeshm_cTriangles
 List of mesh elements.

Member Function Documentation

void GenerateLinear ( CxObject3DSet pDirectList  )  [private]

Generate the linear distribution of the mesh's points.

void GenerateSurface ( CxObject3DSet pDirectList  )  [private]

Generate the planar distribution of the mesh's points.

void GenerateMesh (  )  [private]

Create the mesh from the linear or planar distribution.

virtual UINT GetNameID (  )  const [inline, virtual]

Get the resource ID of the string containing the default name of the object.

Reimplemented from CObject3D.

virtual UINT GetHelpID (  )  const [inline, virtual]

Get the resource ID of the string containing the designation of the object.

Reimplemented from CObject3D.

virtual UINT GetDefID (  )  const [inline, virtual]

Get the resource ID of the string containing the definition of the object.

Reimplemented from CObject3D.

void Serialize ( CArchive &  ar  )  [virtual]

Store and load the object into and from an archive.

Parameters:
ar A CArchive object to serialize to or from.

Reimplemented from CObject3D.

CObject3D * CopyObject (  )  [virtual]

Create a clone of this object.

Returns:
A pointer to the clone of this object.

Reimplemented from CObject3D.

CxObject3DSet * GetParents (  )  [virtual]

Get all the parents of this object from the dependence graph.

Returns:
A pointer to a list containing the parents, NULL if no parents.

Reimplemented from CObject3D.

CString GetObjectDef (  )  [virtual]

Get the definition of the object.

The definition of an object is a string containing a complete description of the object, including references to the objects to which it depends for its construction. Names of the objects and its parents are automatically updated. For example, a segment will be defined by "S is a segment line going through A and B". This definition is mainly used to populate the History view (see CViewHisto) and the status bar when an object is designated (see CViewUniv::OnUpdateObjTooltip).

Reimplemented from CObject3D.

int SetDepth (  )  [virtual]

Update the depth of this object in the dependence graph.

Basically, the depth of an object is either 0 if it has no parents or the maximum of its parents' depth +1.

Returns:
The current depth of this object

Reimplemented from CObject3D.

BOOL ChangeParent ( CObject3D pOld,
CObject3D pNew,
BOOL  bUpGraph = FALSE 
) [virtual]

Change one of the parents of the object.

Parameters:
pOld A pointer to the parent object to change.
pNew A pointer to the object to replace the current parent with.
bUpGraph TRUE if the dependence graph needs to be updated, FALSE otherwise
Returns:
TRUE is the parent has been properly changed, FALSE otherwise

Reimplemented from CObject3D.

virtual DWORD isA (  )  const [inline, virtual]

Get the identifier representing the type of the object.

See TObject3DClass and others identifiers

Reimplemented from CObject3D.

BOOL IsEqual ( CObject3D other  )  [virtual]

Verify if this object is analytically identical to another one.

Parameters:
other A reference to the object to compare with this one.
Returns:
TRUE if both object are analytically the same, FALSE otherwise

Reimplemented from CObject3D.

BOOL IsInActiveArea ( CPoint  pt  )  [virtual]

Verify if the cursor lies within the active region of this object.

Parameters:
pt The location - in view's coordinates - of the cursor.
Returns:
TRUE if the cursor is hovering the object, FALSE otherwise.

Reimplemented from CObject3D.

CRgn * InvalideRect (  )  [virtual]

Create a GDI region covering this object.

Returns:
A new instance of an encompassing region.

Reimplemented from CObject3D.

UINT CalculConceptuel (  )  [virtual]

Recompute the analytical representation of the object.

Returns:
0 if the computation is correct, an error code otherwise.
See also:
Description of all Error Codes

Reimplemented from CObject3D.

void CalculVisuel ( CVisualParam pVisParam  )  [virtual]

Recompute the graphical representation of the object (in the universe or tracing view).

Parameters:
pVisParam The visual parameters associated with the view.

Reimplemented from CObject3D.

void Draw ( CDC *  pDC,
CVisualParam vp,
BOOL  bSm = FALSE 
) [virtual]

Method CObject3D::Draw.

Parameters:
pDC A pointer to the device-context associated with the drawing view
vp A pointer to the visual parameters of the view
bSm TRUE if the object is displayed in a reduced form, FALSE otherwise

Reimplemented from CObject3D.

void Draw3DRendering ( int  nVolMode  )  [virtual]

Method CObject3D::Draw3DRendering.

Todo:
Add the OpenGL representation for all objects

Reimplemented from CObject3D.

CString ExportSymbolic ( int  nFormat  )  [virtual]

Method CObject3D::ExportSymbolic.

Parameters:
nFormat The format to use for exporting the object (see CObject3D::TGraphType)
Returns:
A String containing the symbolic representation of the object

Reimplemented from CObject3D.


Member Data Documentation

Base-point of the locus.

Reference point of the locus.

int nDeltaT

Size of the locus (ie nb of points used in calculation).

Maximum length authorized for the mesh elements.

CArrayEx<CVArray, CVArray &> mesh3D [private]

Two-dimensional list of Vector4.

CArray<CLocusMesh,CLocusMesh> m_cTriangles [private]

List of mesh elements.