A 3D Dynamic Geometry Software

Calques 3D C++



CCylinder3D Class Reference
[Calques 3D - Geometrical Objects]

Inheritance diagram for CCylinder3D:

Inheritance graph
Collaboration diagram for CCylinder3D:

Collaboration graph

List of all members.


Detailed Description

Construction/Destruction.

Public Member Functions

virtual int SetDepth ()
 Update the depth of this object in the dependence graph.
virtual CObject3DCopyObject ()
 Create a clone of this object.
virtual CxObject3DSetGetParents ()
 Get all the parents of this object from the dependence graph.
virtual BOOL ChangeParent (CObject3D *pOld, CObject3D *pNew, BOOL bUpGraph=FALSE)
 Change one of the parents of the object.
virtual void Serialize (CArchive &ar)
 Store and load the object into and from an archive.
virtual BOOL IsEqual (CObject3D &other)
 Verify if this object is analytically identical to another one.
virtual BOOL IsInActiveArea (CPoint pt)
 Verify if the cursor lies within the active region of this object.
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 DWORD isA () const
 Get the identifier representing the type of the object.
virtual CString GetObjectDef ()
 Get the definition of the object.
virtual int SetProperties (CxObject3DSet *pSet=NULL)
 Call the property dialog box and modify the object's attributes.
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 *pDC, CVisualParam *vp, BOOL bSm=0)
 Method CObject3D::Draw.
virtual void DrawRetro (CDC *, CVisualParam *vp)
 Method CObject3D::DrawRetro.
virtual void Draw3DRendering (int nVolMode)
 Method CObject3D::Draw3DRendering.

Static Public Member Functions

static BOOL InterCylLine (CVector4 raybase, CVector4 raycos, CVector4 base, CVector4 axis, FCoord radius, FCoord *in, FCoord *out)
 Determine the intersection of a ray with a cylinder.

Member Function Documentation

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.

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.

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.

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.

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.

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.

virtual DWORD isA (  )  const [inline, virtual]

Get the identifier representing the type of the object.

See TObject3DClass and others identifiers

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 SetProperties ( CxObject3DSet pSet = NULL  )  [virtual]

Call the property dialog box and modify the object's attributes.

Parameters:
pSet A pointer to the list of all objects in the construction.
Returns:
TRUE if attributes have been modified, FALSE otherwise

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 = 0 
) [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 DrawRetro ( CDC *  pDC,
CVisualParam vp 
) [virtual]

Method CObject3D::DrawRetro.

Parameters:
pDC A pointer to the device-context associated with the drawing view
vp A pointer to the visual parameters of the view

Reimplemented from CObject3D.

void Draw3DRendering ( int  nVolMode  )  [virtual]

Method CObject3D::Draw3DRendering.

Todo:
Add the OpenGL representation for all objects

Reimplemented from CObject3D.

BOOL InterCylLine ( CVector4  raybase,
CVector4  raycos,
CVector4  base,
CVector4  axis,
FCoord  radius,
FCoord in,
FCoord out 
) [static]

Determine the intersection of a ray with a cylinder.

Note that in and/or out may be negative indicating the cylinder is located behind the origin of the ray. ANSI C code from the article "Intersecting a Ray with a Cylinder" by Joseph M. Cychosz and Warren N. Waggenspack, Jr. "Graphics Gems IV", Academic Press, 1994

Parameters:
raybase Base of the intersection ray
raycos Direction cosines of the ray
base Base of the cylinder
axis Axis of the cylinder
radius Radius of the cylinder
in Entering distance
out Leaving distance
Returns:
TRUE if the ray intersects the cylinder, FALSE otherwise