CHullWorker Class Reference
[Sail computations library]

#include <hullworker.h>

Inheritance diagram for CHullWorker:

CHullDef

List of all members.

Public Member Functions

 CHullWorker (const CHullDef &d)
CPanelGroup makeHull ()

Protected Member Functions

CPoint3d ptDeck (const real &x)
CPoint3d ptKeel (const real &x)
CPoint3d ptChine (const int &n, const real &x)
CPoint3d ptLowChine (const real &x)

Protected Attributes

real xBmax
CSubSpace planeCentral
CSubSpace planeDeck
CSubSpace planeTransom
CSubSpace planeChine [5]
CSubSpace planeLowChine
CPoint3d ptFwdChine
CPoint3d ptAftChine
CPoint3d ptCentreChine
CPoint3d ptFwdDeck
CPanel deck
CPanel plank
CPanel chine


Detailed Description

The CHullWorker class does all the hull-related calculations. It is used to create the hull from its definition.

See also:
CHullDef, CPanelGroup

Definition at line 33 of file hullworker.h.


Constructor & Destructor Documentation

CHullWorker::CHullWorker ( const CHullDef d  ) 

The constructor does some preliminary calculations to set internal variables, compute chine and deck plane, and compute lower chine plane panel.

Author:
Robert Laine

compute the vertical central plane

compute the lower Chine plane

compute the Deck plane

compute the transom plane

lay lower chine plane decking panel

Definition at line 31 of file hullworker.cpp.

References CHullDef::BaftHeight, CHullDef::BaftW, CHullDef::BfwdHeight, CHullDef::BLWL, CPanel::bottom, CHullDef::BSlopeA, CHullDef::DaftHeight, CHullDef::DBWPos, CHullDef::DfwdHeight, CHullDef::DSlopeA, CSide::fill(), CSubSpace::getdim(), CSubSpace::getp(), CSubSpace::intersect(), CPanel::left, CSubSpace3d::plane(), planeCentral, planeDeck, planeTransom, ptAftChine, ptCentreChine, ptFwdChine, ptFwdDeck, ptLowChine(), CPanel::right, CPanel::top, CHullDef::TransomA, CVector3d::x(), and xBmax.


Member Function Documentation

CPanelGroup CHullWorker::makeHull (  ) 

Creates the basic hull with bottom, deck and only one top side plank.

Returns:
CPanelGroup
Author:
Robert Laine

NOTE: the code will have to be changed to build the full hull from the lower chine

Lay the two bottom panels with top edge at centre plane

Lay a single top side plank on each side with bottom at chine

Lay the two deck planks

Definition at line 169 of file hullworker.cpp.

References CPanel::bottom, CSide::fill(), CSubSpace::getdim(), CSubSpace::getp(), CHullDef::hullID, CSubSpace::intersect(), CPanel::left, CSubSpace3d::line(), planeDeck, ptKeel(), CPanel::right, CHullDef::StemA, CPanelGroup::title, CPanel::top, CHullDef::TopPlankA, and CPanelGroup::type.

CPoint3d CHullWorker::ptDeck ( const real &  x  )  [protected]

function compute a point on Deck edge

CPoint3d CHullWorker::ptKeel ( const real &  x  )  [protected]

function compute a point on Keel line

Return the 3D point at the keel line function of x x is the absisse of the corresponding point on the lower chine

Author:
Robert Laine

Definition at line 139 of file hullworker.cpp.

References CHullDef::BDeadriseA, CHullDef::BSweepA, CSubSpace::getdim(), CSubSpace::getp(), CSubSpace::intersect(), CSubSpace3d::line(), planeCentral, and ptLowChine().

Referenced by makeHull().

CPoint3d CHullWorker::ptChine ( const int &  n,
const real &  x 
) [protected]

function compute a point on chine n

CPoint3d CHullWorker::ptLowChine ( const real &  x  )  [protected]

function compute a point on lower Chine

Return the 3D point at the Lower chine edge function of x x is the absisse of the point along the centre line The chine edge curve is a power curve on either side of the maximum beam point

Author:
Robert Laine

Definition at line 102 of file hullworker.cpp.

References CHullDef::BaftW, CHullDef::BBW, CHullDef::BfwdShape, CSubSpace::getdim(), CSubSpace::getp(), CSubSpace::intersect(), CSubSpace3d::line(), ptAftChine, CVector3d::x(), and xBmax.

Referenced by CHullWorker(), and ptKeel().


Member Data Documentation

real CHullWorker::xBmax [protected]

abciss of Bmax point on chine

Definition at line 42 of file hullworker.h.

Referenced by CHullWorker(), and ptLowChine().

central plane longitudinal X-Y

Definition at line 54 of file hullworker.h.

Referenced by CHullWorker(), and ptKeel().

deck plane

Definition at line 56 of file hullworker.h.

Referenced by CHullWorker(), and makeHull().

transom plane

Definition at line 58 of file hullworker.h.

Referenced by CHullWorker().

chine plane

Definition at line 60 of file hullworker.h.

Lower Chine point at stem/centre line

Definition at line 64 of file hullworker.h.

Referenced by CHullWorker().

Lower Chine point at transom/edge

Definition at line 66 of file hullworker.h.

Referenced by CHullWorker(), and ptLowChine().

Lower Chine point at transom/centre line

Definition at line 68 of file hullworker.h.

Referenced by CHullWorker().

Deck Forward Point

Definition at line 71 of file hullworker.h.

Referenced by CHullWorker().

basic panels

Definition at line 74 of file hullworker.h.


The documentation for this class was generated from the following files:

Generated on Sun Mar 22 21:38:32 2009 for Sailcut CAD by  doxygen 1.5.6