CoastalME (Coastal Modelling Environment)
Simulates the long-term behaviour of complex coastlines
Loading...
Searching...
No Matches
CGeomProfile Class Reference

Geometry class used to represent coast profile objects. More...

#include <profile.h>

Inherits CGeomMultiLine.

Public Member Functions

 CGeomProfile (int const, int const, int const, CGeom2DIPoint const *, CGeom2DIPoint const *, bool const)
 In external CRS, the coords of cells 'under' this profile (has the same length as m_VCellInProfile)
 
 ~CGeomProfile (void) override
 Destructor.
 
int nGetCoast (void) const
 Returns this profile's coast.
 
int nGetProfileID (void) const
 Returns the profile's this-coast ID.
 
int nGetProfileCoastID (void) const
 
int nGetCoastPoint (void) const
 Returns the coast point at which the profile starts.
 
CGeom2DIPointpPtiGetStartPoint (void)
 Returns a pointer to the location of the cell (grid CRS) on which the profile starts.
 
void SetEndPoint (CGeom2DIPoint const *)
 Sets the the location of the cell (grid CRS) on which the profile ends.
 
CGeom2DIPointpPtiGetEndPoint (void)
 Returns a pointer to the location of the cell (grid CRS) on which the profile ends.
 
void SetStartOfCoast (bool const)
 Sets a switch to indicate whether this is a start-of-coast profile.
 
bool bStartOfCoast (void) const
 Returns the switch to indicate whether this is a start-of-coast profile.
 
void SetEndOfCoast (bool const)
 Sets a switch to indicate whether this is an end-of-coast profile.
 
bool bEndOfCoast (void) const
 Returns the switch to indicate whether this is an end-of-coast profile.
 
void SetCShoreProblem (bool const)
 Sets a switch to indicate whether this profile has a CShore problem.
 
bool bCShoreProblem (void) const
 Returns the switch which indicates whether this profile has a CShore problem.
 
void SetHitLand (bool const)
 Sets a switch which indicates whether this profile has hit land.
 
bool bHitLand (void) const
 Returns the switch which indicates whether this profile has hit land.
 
void SetHitIntervention (bool const)
 Sets a switch which indicates whether this profile has hit an intervention.
 
bool bHitIntervention (void) const
 Returns the switch which indicates whether this profile has hit an intervention.
 
void SetHitCoast (bool const)
 Sets a switch which indicates whether this profile has hit a coast.
 
bool bHitCoast (void) const
 Returns the switch which indicates whether this profile has hit a coast.
 
void SetTooShort (bool const)
 Sets a switch which indicates whether this profile is too short to be useful.
 
bool bTooShort (void) const
 Returns the switch which indicates whether this profile is too short to be useful.
 
void SetTruncatedSameCoast (bool const)
 Sets a switch which indicates whether this profile is truncated, due to hitting another profile from the same coast.
 
bool bTruncatedSameCoast (void) const
 Returns the switch which indicates whether this profile has been truncated, due to hitting another profile from the same coast.
 
void SetTruncatedDifferentCoast (bool const)
 Sets a switch which indicates whether this profile is truncated, due to hitting another profile from a different coast.
 
bool bTruncatedDifferentCoast (void) const
 Returns the switch which indicates whether this profile has been truncated, due to hitting another profile from a different coast.
 
void SetHitAnotherProfile (bool const)
 Sets a switch which indicates whether this profile hits another profile badly.
 
bool bHitAnotherProfile (void) const
 Returns the switch which indicates whether this profile hits another profile badly.
 
bool bProfileOK (void) const
 Returns true if this is a problem-free profile, and is not a start-of-coast and is not an end-of-coast profile.
 
bool bProfileOKIncTruncated (void) const
 Returns true if this is a problem-free profile, and is not a start-of-coast and is not an end-of-coast profile. But it can be a truncated profile due to hitting another profile from this coast or from a different coast.
 
bool bOKIncStartAndEndOfCoast (void) const
 Returns true if this is a problem-free profile (however it could be a start-of-coast or an end-of-coast profile, or could be truncated due to hitting a different coast)
 
void SetPointsInProfile (vector< CGeom2DPoint > const *)
 Sets points (external CRS) in the profile. Note that only two points, the start and end point, are initially stored each profile.
 
void SetPointInProfile (int const, double const, double const)
 Sets a single point (external CRS) in the profile.
 
void AppendPointInProfile (double const, double const)
 Appends a point (external CRS) to the profile.
 
void AppendPointInProfile (CGeom2DPoint const *)
 Appends a point (external CRS) to the profile (overloaded version)
 
void TruncateProfile (int const)
 Truncates the profile's CGeomLine (external CRS points)
 
bool bInsertIntersection (double const, double const, int const)
 Inserts an intersection (at a point specified in external CRS, with a line segment) into the profile.
 
int nGetProfileSize (void) const
 Returns the number of external CRS points in the profile (only two, initally; and always just two for grid-edge profiles)
 
CGeom2DPointpPtGetPointInProfile (int const)
 Returns a single point (external CRS) from the profile.
 
CGeom2DIPointpPtiGetLastCellInProfile (void)
 Returns the last cell (grid CRS) in the profile.
 
vector< CGeom2DPointPtVGetThisPointAndAllAfter (int const)
 Returns a given external CRS point from the profile, and all points after this.
 
bool bIsPointInProfile (double const, double const)
 Removes a line segment from the profile.
 
bool bIsPointInProfile (double const, double const, int &)
 Queries the profile: is the given point (external CRS) a profile point? If so, then it also returns the number of the point in the profile.
 
void SetUpCoastAdjacentProfile (CGeomProfile *)
 Sets the up-coast adjacent profile.
 
CGeomProfilepGetUpCoastAdjacentProfile (void) const
 Returns the up-coast adjacent profile, returns NULL if there is no up-coast adjacent profile.
 
void SetDownCoastAdjacentProfile (CGeomProfile *)
 Sets the down-coast adjacent profile.
 
CGeomProfilepGetDownCoastAdjacentProfile (void) const
 Returns the down-coast adjacent profile, returns NULL if there is no down-coast adjacent profile.
 
void AppendCellInProfile (CGeom2DIPoint const *)
 Appends a cell (grid CRS) to the profile.
 
void AppendCellInProfile (int const, int const)
 Appends a cell (grid CRS) to the profile (overloaded version)
 
void SetCellsInProfile (vector< CGeom2DIPoint > *)
 Sets the profile's vector of cells (grid CRS)
 
vector< CGeom2DIPoint > * pPtiVGetCellsInProfile (void)
 Returns all cells (grid CRS) in the profile.
 
CGeom2DIPointpPtiGetCellInProfile (int const)
 Returns a single cell (grid CRS) in the profile.
 
int nGetNumCellsInProfile (void) const
 Returns the number of cells in the profile.
 
int nGetIndexOfCellInProfile (int const, int const)
 Returns the index of a given cell in the vector of profile cells; returns INT_NODATA if not found.
 
int nGetCellGivenDepth (CGeomRasterGrid const *, double const)
 Returns the index of the cell on this profile which has a sea depth which is just less than a given depth. If every cell on the profile has a sea depth which is less than the given depth it returns INT_NODATA.
 
void SetProfileDeepWaterWaveHeight (double const)
 Sets the deep-water wave height for this profile.
 
double dGetProfileDeepWaterWaveHeight (void) const
 Returns the deep-water wave height for this profile.
 
void SetProfileDeepWaterWaveAngle (double const)
 Sets the deep-water wave orientation for this profile.
 
double dGetProfileDeepWaterWaveAngle (void) const
 Returns the deep-water wave orientation for this profile.
 
void SetProfileDeepWaterWavePeriod (double const)
 Sets the deep-water wave period for this profile.
 
double dGetProfileDeepWaterWavePeriod (void) const
 Returns the deep-water wave period for this profile.
 
bool bIsIntervention (void) const
 Returns true if this is an intervention profile.
 
- Public Member Functions inherited from CGeomMultiLine
 CGeomMultiLine (void)
 Constructor, no parameters.
 
 ~CGeomMultiLine (void) override
 Destructor.
 
vector< CGeom2DPoint > & pGetPoints (void)
 Returns a pointer to the points of the CGeomLine.
 
void SetPoints (vector< CGeom2DPoint > &)
 Replaces the points of the CGeomLine.
 
void AppendLineSegment (void)
 Appends a new empty line segment.
 
void AppendLineSegment (vector< pair< int, int > > *)
 Appends a line segment which is supplied as a parameter.
 
int nGetNumLineSegments (void) const
 Appends a line segment which then inherits from the preceding line segments.
 
void TruncateLineSegments (int const)
 Cuts short the number of line segments.
 
void InsertLineSegment (int const)
 Inserts a line segment, inheriting from preceding line segments.
 
vector< vector< pair< int, int > > > prVVGetAllLineSegAfter (int const)
 Returns a vector of the line segments which succeed the specified line segment number.
 
void RemoveLineSegment (int const)
 Removes a line segment.
 
void AppendCoincidentProfileToLineSegments (pair< int, int > const)
 Appends a coincident profile pair to the CGeomMultiLine object's final line segment.
 
void AddCoincidentProfileToExistingLineSegment (int const, int const, int const)
 Adds a coincident profile to a pre-existing line segment of the CGeomMultiLine object.
 
vector< pair< int, int > > * pprVGetPairedCoincidentProfilesForLineSegment (int const)
 Returns a vector of pairs (a line segment)
 
int nGetCoincidentProfileForLineSegment (int const, int const) const
 Returns the numbers of coincident profiles.
 
int nGetNumCoincidentProfilesInLineSegment (int const)
 Returns the count of coincident profiles in a specified line segment, or -1 if the line segment does not exist.
 
bool bFindProfileInCoincidentProfilesOfLastLineSegment (int const)
 Returns true if the given profile number is amongst the coincident profiles of the CGeomMultiLine object's final line segment.
 
bool bFindProfileInCoincidentProfiles (int const)
 Returns true if the given profile number is one of the coincident profiles of the a specified line segment.
 
void GetMostCoastwardSharedLineSegment (int const, int &, int &)
 Finds the number of the most coastward line segment for which the two profiles are coincident, or -1 if they are not coincident. If they are coincident, also finds the line segment of the other profile.
 
int nGetProf (int const, int const) const
 Returns the profile number, given a line segment and the index of the co-incident profile for that line segment.
 
int nGetProfsLineSeg (int const, int const) const
 Returns the profile's own line segment, given a line segment and the index of the co-incident profile for that line segment.
 
void SetProfsLineSeg (int const, int const, int const)
 Sets a profile's own line segment number, given a line segment and the index of the co-incident profile for that line segment.
 
- Public Member Functions inherited from CGeomLine
 CGeomLine (void)
 Constructor.
 
 CGeomLine (CGeom2DPoint const *, CGeom2DPoint const *)
 Overloaded constructor with two points as parameters.
 
 CGeomLine (int const)
 Overloaded constructor with one parameter, this creates a given number of uninitialized points.
 
 ~CGeomLine (void) override
 Destructor.
 
double dGetXAt (int const)
 Returns the X value at a given place in the line.
 
double dGetYAt (int const)
 Returns the Y value at a given place in the line.
 
CGeom2DPointpPtGetAt (int const)
 Returns the point at a given place in the line.
 
- Public Member Functions inherited from CA2DShape
void Reverse (void)
 Reverses the sequence of points in the vector which represents this 2D polygon.
 
int nGetSize (void) const
 
void Resize (int const)
 Resizes the vector which represents this 2D shape.
 
void Append (CGeom2DPoint const *)
 Appends a point to this 2D shape.
 
void Append (double const, double const)
 Appends a point to this 2D shape.
 
void AppendIfNotAlready (double const, double const)
 Appends a point to this 2D shape only if it isn't already in the shape vector.
 
CGeom2DPointpPtBack (void)
 Returns the last element of this 2D shape.
 
CGeom2DPointoperator[] (int const)
 Operator to return one point of this 2D shape.
 
vector< CGeom2DPoint > * pPtVGetPoints (void)
 Returns the address of the vector which represents this 2D shape.
 

Private Attributes

bool m_bStartOfCoast
 Is this a start-of-coast profile?
 
bool m_bEndOfCoast
 Is this an end-of-coast profile?
 
bool m_bCShoreProblem
 Has this profile encountered a CShore problem?
 
bool m_bHitLand
 Has this profile hit land?
 
bool m_bHitIntervention
 Has this profile hit an intervention?
 
bool m_bHitCoast
 Has this profile hit a coastline?
 
bool m_bTooShort
 Is this profile too short?
 
bool m_bTruncatedSameCoast
 Has this profile been truncated by hitting another profile from the same coast?
 
bool m_bTruncatedDifferentCoast
 Has this profile been truncated by hitting another profile from a different coast?
 
bool m_bHitAnotherProfile
 Has this profile hit another profile?
 
bool m_bIntervention
 Is this an intervention profile?
 
int m_nCoast
 The coast from which this profile projects.
 
int m_nCoastPoint
 The coastline point at which this profile hits the coast (not necessarily coincident wih the profile start cell)
 
int m_nProfileID
 The this-coast ID of the profile (note that a profile in a different coast may have the same ID as this profile)
 
double m_dDeepWaterWaveHeight
 The wave height at the end of the profile.
 
double m_dDeepWaterWaveAngle
 The wave orientation at the end of the profile.
 
double m_dDeepWaterWavePeriod
 The wave period at the end of the profile.
 
CGeom2DIPoint PtiStart
 The on-coast start point of the profile in grid CRS.
 
CGeom2DIPoint PtiEnd
 The seaward end point of the profile in grid CRS.
 
CGeomProfilem_pUpCoastAdjacentProfile
 Pointer to the adjacent up-coast profile (may be an invalid profile)
 
CGeomProfilem_pDownCoastAdjacentProfile
 Pointer to the adjacent down-coast profile (may be an invalid profile)
 
vector< CGeom2DIPointm_VCellInProfile
 In the grid CRS, the integer coordinates of the cells 'under' this profile, point zero is the same as 'cell marked as coastline' in coast object.
 

Additional Inherited Members

- Protected Member Functions inherited from CGeomLine
void Display (void) override
 Instantiates the pure virtual function in the abstract parent class, so that CGeomLine is not an abstract class.
 
- Protected Member Functions inherited from CA2DShape
 CA2DShape (void)
 Constructor.
 
virtual ~CA2DShape (void)
 Destructor.
 
void Clear (void)
 Clears this 2D shape.
 
- Protected Attributes inherited from CA2DShape
vector< CGeom2DPointm_VPoints
 The points which comprise the float-coordinate 2D shape.
 

Detailed Description

Geometry class used to represent coast profile objects.

TODO 001 This is a more detailed description of the CGeomProfile class.

Author
David Favis-Mortlock
Andres Payo
Date
2025

Definition at line 36 of file profile.h.

Constructor & Destructor Documentation

◆ CGeomProfile()

CGeomProfile::CGeomProfile ( int const nCoast,
int const nCoastPoint,
int const nProfileID,
CGeom2DIPoint const * pPtiStart,
CGeom2DIPoint const * pPtiEnd,
bool const bIntervention )
explicit

In external CRS, the coords of cells 'under' this profile (has the same length as m_VCellInProfile)

Constructor with initialization list, requires one parameter (the coast point at which the profile starts)

Definition at line 44 of file profile.cpp.

Referenced by nGetProfileCoastID(), pGetDownCoastAdjacentProfile(), pGetUpCoastAdjacentProfile(), SetDownCoastAdjacentProfile(), and SetUpCoastAdjacentProfile().

◆ ~CGeomProfile()

CGeomProfile::~CGeomProfile ( void )
override

Destructor.

Definition at line 69 of file profile.cpp.

Member Function Documentation

◆ AppendCellInProfile() [1/2]

void CGeomProfile::AppendCellInProfile ( CGeom2DIPoint const * pPti)

Appends a cell (grid CRS) to the profile.

Definition at line 497 of file profile.cpp.

Referenced by CSimulation::nLocateAndCreateGridEdgeProfile().

◆ AppendCellInProfile() [2/2]

void CGeomProfile::AppendCellInProfile ( int const nX,
int const nY )

Appends a cell (grid CRS) to the profile (overloaded version)

Definition at line 503 of file profile.cpp.

◆ AppendPointInProfile() [1/2]

void CGeomProfile::AppendPointInProfile ( CGeom2DPoint const * pPt)

Appends a point (external CRS) to the profile (overloaded version)

Definition at line 316 of file profile.cpp.

◆ AppendPointInProfile() [2/2]

void CGeomProfile::AppendPointInProfile ( double const dNewX,
double const dNewY )

Appends a point (external CRS) to the profile.

Definition at line 310 of file profile.cpp.

Referenced by CSimulation::MergeProfilesAtFinalLineSegments(), CSimulation::nLocateAndCreateGridEdgeProfile(), and CSimulation::TruncateProfileAndAppendNew().

◆ bCShoreProblem()

bool CGeomProfile::bCShoreProblem ( void ) const

Returns the switch which indicates whether this profile has a CShore problem.

Definition at line 140 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ bEndOfCoast()

◆ bHitAnotherProfile()

bool CGeomProfile::bHitAnotherProfile ( void ) const

Returns the switch which indicates whether this profile hits another profile badly.

Definition at line 224 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ bHitCoast()

bool CGeomProfile::bHitCoast ( void ) const

Returns the switch which indicates whether this profile has hit a coast.

Definition at line 176 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ bHitIntervention()

bool CGeomProfile::bHitIntervention ( void ) const

Returns the switch which indicates whether this profile has hit an intervention.

Definition at line 164 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ bHitLand()

bool CGeomProfile::bHitLand ( void ) const

Returns the switch which indicates whether this profile has hit land.

Definition at line 152 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ bInsertIntersection()

bool CGeomProfile::bInsertIntersection ( double const dX,
double const dY,
int const nSeg )

Inserts an intersection (at a point specified in external CRS, with a line segment) into the profile.

Definition at line 322 of file profile.cpp.

Referenced by CSimulation::nInsertPointIntoProfilesIfNeededThenUpdate().

◆ bIsIntervention()

bool CGeomProfile::bIsIntervention ( void ) const

Returns true if this is an intervention profile.

Definition at line 603 of file profile.cpp.

Referenced by CSimulation::CheckForIntersectingProfiles(), and CSimulation::nCreateProfile().

◆ bIsPointInProfile() [1/2]

bool CGeomProfile::bIsPointInProfile ( double const dX,
double const dY )

Removes a line segment from the profile.

Queries the profile: is the given point (external CRS) a profile point?

Definition at line 386 of file profile.cpp.

Referenced by CSimulation::CheckForIntersectingProfiles().

◆ bIsPointInProfile() [2/2]

bool CGeomProfile::bIsPointInProfile ( double const dX,
double const dY,
int & nPoint )

Queries the profile: is the given point (external CRS) a profile point? If so, then it also returns the number of the point in the profile.

Definition at line 398 of file profile.cpp.

◆ bOKIncStartAndEndOfCoast()

bool CGeomProfile::bOKIncStartAndEndOfCoast ( void ) const

◆ bProfileOK()

bool CGeomProfile::bProfileOK ( void ) const

Returns true if this is a problem-free profile, and is not a start-of-coast and is not an end-of-coast profile.

Definition at line 230 of file profile.cpp.

Referenced by CSimulation::nCheckAndMarkAllProfiles(), and CSimulation::nDoPolygonSharedBoundaries().

◆ bProfileOKIncTruncated()

bool CGeomProfile::bProfileOKIncTruncated ( void ) const

Returns true if this is a problem-free profile, and is not a start-of-coast and is not an end-of-coast profile. But it can be a truncated profile due to hitting another profile from this coast or from a different coast.

Definition at line 248 of file profile.cpp.

Referenced by CSimulation::CheckForIntersectingProfiles().

◆ bStartOfCoast()

bool CGeomProfile::bStartOfCoast ( void ) const

◆ bTooShort()

bool CGeomProfile::bTooShort ( void ) const

Returns the switch which indicates whether this profile is too short to be useful.

Definition at line 188 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ bTruncatedDifferentCoast()

bool CGeomProfile::bTruncatedDifferentCoast ( void ) const

Returns the switch which indicates whether this profile has been truncated, due to hitting another profile from a different coast.

Definition at line 212 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ bTruncatedSameCoast()

bool CGeomProfile::bTruncatedSameCoast ( void ) const

Returns the switch which indicates whether this profile has been truncated, due to hitting another profile from the same coast.

Definition at line 200 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ dGetProfileDeepWaterWaveAngle()

double CGeomProfile::dGetProfileDeepWaterWaveAngle ( void ) const

Returns the deep-water wave orientation for this profile.

Definition at line 585 of file profile.cpp.

Referenced by CSimulation::nCalcWavePropertiesOnProfile(), and CSimulation::nSetAllCoastpointDeepWaterWaveValues().

◆ dGetProfileDeepWaterWaveHeight()

double CGeomProfile::dGetProfileDeepWaterWaveHeight ( void ) const

Returns the deep-water wave height for this profile.

Definition at line 573 of file profile.cpp.

Referenced by CSimulation::nCalcWavePropertiesOnProfile(), and CSimulation::nSetAllCoastpointDeepWaterWaveValues().

◆ dGetProfileDeepWaterWavePeriod()

double CGeomProfile::dGetProfileDeepWaterWavePeriod ( void ) const

Returns the deep-water wave period for this profile.

Definition at line 597 of file profile.cpp.

Referenced by CSimulation::nCalcWavePropertiesOnProfile(), and CSimulation::nSetAllCoastpointDeepWaterWaveValues().

◆ nGetCellGivenDepth()

int CGeomProfile::nGetCellGivenDepth ( CGeomRasterGrid const * pGrid,
double const dDepthIn )

Returns the index of the cell on this profile which has a sea depth which is just less than a given depth. If every cell on the profile has a sea depth which is less than the given depth it returns INT_NODATA.

Definition at line 541 of file profile.cpp.

Referenced by CSimulation::nDoUnconsDepositionOnPolygon(), and CSimulation::nDoUnconsErosionOnPolygon().

◆ nGetCoast()

int CGeomProfile::nGetCoast ( void ) const

Returns this profile's coast.

Definition at line 74 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile().

◆ nGetCoastPoint()

◆ nGetIndexOfCellInProfile()

int CGeomProfile::nGetIndexOfCellInProfile ( int const nX,
int const nY )

Returns the index of a given cell in the vector of profile cells; returns INT_NODATA if not found.

Definition at line 609 of file profile.cpp.

Referenced by CSimulation::nTruncateProfilesDifferentCoasts().

◆ nGetNumCellsInProfile()

◆ nGetProfileCoastID()

int CGeomProfile::nGetProfileCoastID ( void ) const

◆ nGetProfileID()

◆ nGetProfileSize()

int CGeomProfile::nGetProfileSize ( void ) const

Returns the number of external CRS points in the profile (only two, initally; and always just two for grid-edge profiles)

Definition at line 361 of file profile.cpp.

Referenced by CSimulation::bWriteVectorGISFile(), CSimulation::MarkProfilesOnGrid(), CSimulation::MergeProfilesAtFinalLineSegments(), CSimulation::nCalcPotentialPlatformErosionOnProfile(), CSimulation::nCheckAndMarkAllProfiles(), and CSimulation::nCreateAllPolygons().

◆ pGetDownCoastAdjacentProfile()

CGeomProfile * CGeomProfile::pGetDownCoastAdjacentProfile ( void ) const

◆ pGetUpCoastAdjacentProfile()

CGeomProfile * CGeomProfile::pGetUpCoastAdjacentProfile ( void ) const

Returns the up-coast adjacent profile, returns NULL if there is no up-coast adjacent profile.

Definition at line 479 of file profile.cpp.

Referenced by CSimulation::nTruncateProfileHitDifferentCoast(), and CRWCoast::pGetUpCoastProfile().

◆ pPtGetPointInProfile()

◆ pPtiGetCellInProfile()

◆ pPtiGetEndPoint()

CGeom2DIPoint * CGeomProfile::pPtiGetEndPoint ( void )

Returns a pointer to the location of the cell (grid CRS) on which the profile ends.

Definition at line 104 of file profile.cpp.

Referenced by CSimulation::nCreateAllPolygons().

◆ pPtiGetLastCellInProfile()

CGeom2DIPoint * CGeomProfile::pPtiGetLastCellInProfile ( void )

Returns the last cell (grid CRS) in the profile.

Definition at line 528 of file profile.cpp.

◆ pPtiGetStartPoint()

CGeom2DIPoint * CGeomProfile::pPtiGetStartPoint ( void )

Returns a pointer to the location of the cell (grid CRS) on which the profile starts.

Definition at line 92 of file profile.cpp.

Referenced by CSimulation::CreateRasterizedProfile(), CSimulation::nCreateAllPolygons(), and CSimulation::nTruncateProfilesDifferentCoasts().

◆ pPtiVGetCellsInProfile()

◆ PtVGetThisPointAndAllAfter()

vector< CGeom2DPoint > CGeomProfile::PtVGetThisPointAndAllAfter ( int const nStart)

Returns a given external CRS point from the profile, and all points after this.

Definition at line 373 of file profile.cpp.

Referenced by CSimulation::TruncateOneProfileRetainOtherProfile().

◆ SetCellsInProfile()

void CGeomProfile::SetCellsInProfile ( vector< CGeom2DIPoint > * VNewPoints)

Sets the profile's vector of cells (grid CRS)

Definition at line 509 of file profile.cpp.

Referenced by CSimulation::nTruncateProfileHitDifferentCoast(), and CSimulation::nTruncateProfilesDifferentCoasts().

◆ SetCShoreProblem()

void CGeomProfile::SetCShoreProblem ( bool const bFlag)

Sets a switch to indicate whether this profile has a CShore problem.

Definition at line 134 of file profile.cpp.

Referenced by CSimulation::nDoAllPropagateWaves().

◆ SetDownCoastAdjacentProfile()

void CGeomProfile::SetDownCoastAdjacentProfile ( CGeomProfile * pProfile)

Sets the down-coast adjacent profile.

Definition at line 485 of file profile.cpp.

Referenced by CSimulation::nCreateAllProfiles().

◆ SetEndOfCoast()

void CGeomProfile::SetEndOfCoast ( bool const bFlag)

Sets a switch to indicate whether this is an end-of-coast profile.

Definition at line 122 of file profile.cpp.

Referenced by CSimulation::nLocateAndCreateGridEdgeProfile().

◆ SetEndPoint()

void CGeomProfile::SetEndPoint ( CGeom2DIPoint const * pPtiEnd)

Sets the the location of the cell (grid CRS) on which the profile ends.

Definition at line 98 of file profile.cpp.

Referenced by CSimulation::nLocateAndCreateGridEdgeProfile(), CSimulation::nTruncateProfileHitDifferentCoast(), and CSimulation::nTruncateProfilesDifferentCoasts().

◆ SetHitAnotherProfile()

void CGeomProfile::SetHitAnotherProfile ( bool const bFlag)

Sets a switch which indicates whether this profile hits another profile badly.

Definition at line 218 of file profile.cpp.

Referenced by CSimulation::CreateRasterizedProfile().

◆ SetHitCoast()

void CGeomProfile::SetHitCoast ( bool const bFlag)

Sets a switch which indicates whether this profile has hit a coast.

Definition at line 170 of file profile.cpp.

Referenced by CSimulation::CreateRasterizedProfile().

◆ SetHitIntervention()

void CGeomProfile::SetHitIntervention ( bool const bFlag)

Sets a switch which indicates whether this profile has hit an intervention.

Definition at line 158 of file profile.cpp.

Referenced by CSimulation::CreateRasterizedProfile().

◆ SetHitLand()

void CGeomProfile::SetHitLand ( bool const bFlag)

Sets a switch which indicates whether this profile has hit land.

Definition at line 146 of file profile.cpp.

Referenced by CSimulation::CreateRasterizedProfile().

◆ SetPointInProfile()

void CGeomProfile::SetPointInProfile ( int const nPoint,
double const dNewX,
double const dNewY )

Sets a single point (external CRS) in the profile.

Definition at line 303 of file profile.cpp.

Referenced by CSimulation::MergeProfilesAtFinalLineSegments().

◆ SetPointsInProfile()

void CGeomProfile::SetPointsInProfile ( vector< CGeom2DPoint > const * VNewPoints)

Sets points (external CRS) in the profile. Note that only two points, the start and end point, are initially stored each profile.

Definition at line 297 of file profile.cpp.

Referenced by CSimulation::nCreateProfile().

◆ SetProfileDeepWaterWaveAngle()

void CGeomProfile::SetProfileDeepWaterWaveAngle ( double const dWaveAngle)

Sets the deep-water wave orientation for this profile.

Definition at line 579 of file profile.cpp.

Referenced by CSimulation::nLocateAndCreateGridEdgeProfile().

◆ SetProfileDeepWaterWaveHeight()

void CGeomProfile::SetProfileDeepWaterWaveHeight ( double const dWaveHeight)

Sets the deep-water wave height for this profile.

Definition at line 567 of file profile.cpp.

Referenced by CSimulation::nLocateAndCreateGridEdgeProfile().

◆ SetProfileDeepWaterWavePeriod()

void CGeomProfile::SetProfileDeepWaterWavePeriod ( double const dWavePeriod)

Sets the deep-water wave period for this profile.

Definition at line 591 of file profile.cpp.

Referenced by CSimulation::nLocateAndCreateGridEdgeProfile().

◆ SetStartOfCoast()

void CGeomProfile::SetStartOfCoast ( bool const bFlag)

Sets a switch to indicate whether this is a start-of-coast profile.

Definition at line 110 of file profile.cpp.

Referenced by CSimulation::nLocateAndCreateGridEdgeProfile().

◆ SetTooShort()

void CGeomProfile::SetTooShort ( bool const bFlag)

Sets a switch which indicates whether this profile is too short to be useful.

Definition at line 182 of file profile.cpp.

Referenced by CSimulation::CreateRasterizedProfile().

◆ SetTruncatedDifferentCoast()

void CGeomProfile::SetTruncatedDifferentCoast ( bool const bFlag)

Sets a switch which indicates whether this profile is truncated, due to hitting another profile from a different coast.

Definition at line 206 of file profile.cpp.

Referenced by CSimulation::nTruncateProfileHitDifferentCoast(), and CSimulation::nTruncateProfilesDifferentCoasts().

◆ SetTruncatedSameCoast()

void CGeomProfile::SetTruncatedSameCoast ( bool const bFlag)

Sets a switch which indicates whether this profile is truncated, due to hitting another profile from the same coast.

Definition at line 194 of file profile.cpp.

Referenced by CSimulation::CreateRasterizedProfile().

◆ SetUpCoastAdjacentProfile()

void CGeomProfile::SetUpCoastAdjacentProfile ( CGeomProfile * pProfile)

Sets the up-coast adjacent profile.

Definition at line 473 of file profile.cpp.

Referenced by CSimulation::nCreateAllProfiles().

◆ TruncateProfile()

void CGeomProfile::TruncateProfile ( int const nSize)

Truncates the profile's CGeomLine (external CRS points)

Definition at line 341 of file profile.cpp.

Referenced by CSimulation::nTruncateProfileMultiLineDifferentCoasts(), and CSimulation::TruncateProfileAndAppendNew().

Field Documentation

◆ m_bCShoreProblem

bool CGeomProfile::m_bCShoreProblem
private

Has this profile encountered a CShore problem?

Definition at line 46 of file profile.h.

Referenced by bCShoreProblem(), bOKIncStartAndEndOfCoast(), bProfileOK(), bProfileOKIncTruncated(), CGeomProfile(), and SetCShoreProblem().

◆ m_bEndOfCoast

bool CGeomProfile::m_bEndOfCoast
private

Is this an end-of-coast profile?

Definition at line 43 of file profile.h.

Referenced by bEndOfCoast(), bProfileOK(), bProfileOKIncTruncated(), CGeomProfile(), and SetEndOfCoast().

◆ m_bHitAnotherProfile

bool CGeomProfile::m_bHitAnotherProfile
private

Has this profile hit another profile?

Definition at line 67 of file profile.h.

Referenced by bHitAnotherProfile(), bOKIncStartAndEndOfCoast(), bProfileOK(), bProfileOKIncTruncated(), CGeomProfile(), and SetHitAnotherProfile().

◆ m_bHitCoast

bool CGeomProfile::m_bHitCoast
private

Has this profile hit a coastline?

Definition at line 55 of file profile.h.

Referenced by bHitCoast(), bOKIncStartAndEndOfCoast(), bProfileOK(), bProfileOKIncTruncated(), CGeomProfile(), and SetHitCoast().

◆ m_bHitIntervention

bool CGeomProfile::m_bHitIntervention
private

Has this profile hit an intervention?

Definition at line 52 of file profile.h.

Referenced by bHitIntervention(), bOKIncStartAndEndOfCoast(), bProfileOK(), bProfileOKIncTruncated(), CGeomProfile(), and SetHitIntervention().

◆ m_bHitLand

bool CGeomProfile::m_bHitLand
private

Has this profile hit land?

Definition at line 49 of file profile.h.

Referenced by bHitLand(), bOKIncStartAndEndOfCoast(), bProfileOK(), bProfileOKIncTruncated(), CGeomProfile(), and SetHitLand().

◆ m_bIntervention

bool CGeomProfile::m_bIntervention
private

Is this an intervention profile?

Definition at line 70 of file profile.h.

Referenced by bIsIntervention(), and CGeomProfile().

◆ m_bStartOfCoast

bool CGeomProfile::m_bStartOfCoast
private

Is this a start-of-coast profile?

Definition at line 40 of file profile.h.

Referenced by bProfileOK(), bProfileOKIncTruncated(), bStartOfCoast(), CGeomProfile(), and SetStartOfCoast().

◆ m_bTooShort

bool CGeomProfile::m_bTooShort
private

Is this profile too short?

Definition at line 58 of file profile.h.

Referenced by bOKIncStartAndEndOfCoast(), bProfileOK(), bProfileOKIncTruncated(), bTooShort(), CGeomProfile(), and SetTooShort().

◆ m_bTruncatedDifferentCoast

bool CGeomProfile::m_bTruncatedDifferentCoast
private

Has this profile been truncated by hitting another profile from a different coast?

Definition at line 64 of file profile.h.

Referenced by bTruncatedDifferentCoast(), and SetTruncatedDifferentCoast().

◆ m_bTruncatedSameCoast

bool CGeomProfile::m_bTruncatedSameCoast
private

Has this profile been truncated by hitting another profile from the same coast?

Definition at line 61 of file profile.h.

Referenced by bOKIncStartAndEndOfCoast(), bProfileOK(), bTruncatedSameCoast(), CGeomProfile(), and SetTruncatedSameCoast().

◆ m_dDeepWaterWaveAngle

double CGeomProfile::m_dDeepWaterWaveAngle
private

The wave orientation at the end of the profile.

Definition at line 85 of file profile.h.

Referenced by CGeomProfile(), dGetProfileDeepWaterWaveAngle(), and SetProfileDeepWaterWaveAngle().

◆ m_dDeepWaterWaveHeight

double CGeomProfile::m_dDeepWaterWaveHeight
private

The wave height at the end of the profile.

Definition at line 82 of file profile.h.

Referenced by CGeomProfile(), dGetProfileDeepWaterWaveHeight(), and SetProfileDeepWaterWaveHeight().

◆ m_dDeepWaterWavePeriod

double CGeomProfile::m_dDeepWaterWavePeriod
private

The wave period at the end of the profile.

Definition at line 88 of file profile.h.

Referenced by CGeomProfile(), dGetProfileDeepWaterWavePeriod(), and SetProfileDeepWaterWavePeriod().

◆ m_nCoast

int CGeomProfile::m_nCoast
private

The coast from which this profile projects.

Definition at line 73 of file profile.h.

Referenced by CGeomProfile(), and nGetCoast().

◆ m_nCoastPoint

int CGeomProfile::m_nCoastPoint
private

The coastline point at which this profile hits the coast (not necessarily coincident wih the profile start cell)

Definition at line 76 of file profile.h.

Referenced by CGeomProfile(), and nGetCoastPoint().

◆ m_nProfileID

int CGeomProfile::m_nProfileID
private

The this-coast ID of the profile (note that a profile in a different coast may have the same ID as this profile)

Definition at line 79 of file profile.h.

Referenced by CGeomProfile(), and nGetProfileID().

◆ m_pDownCoastAdjacentProfile

CGeomProfile* CGeomProfile::m_pDownCoastAdjacentProfile
private

Pointer to the adjacent down-coast profile (may be an invalid profile)

Definition at line 100 of file profile.h.

Referenced by CGeomProfile(), pGetDownCoastAdjacentProfile(), and SetDownCoastAdjacentProfile().

◆ m_pUpCoastAdjacentProfile

CGeomProfile* CGeomProfile::m_pUpCoastAdjacentProfile
private

Pointer to the adjacent up-coast profile (may be an invalid profile)

Definition at line 97 of file profile.h.

Referenced by CGeomProfile(), pGetUpCoastAdjacentProfile(), and SetUpCoastAdjacentProfile().

◆ m_VCellInProfile

vector<CGeom2DIPoint> CGeomProfile::m_VCellInProfile
private

In the grid CRS, the integer coordinates of the cells 'under' this profile, point zero is the same as 'cell marked as coastline' in coast object.

Definition at line 103 of file profile.h.

Referenced by AppendCellInProfile(), AppendCellInProfile(), nGetCellGivenDepth(), nGetIndexOfCellInProfile(), nGetNumCellsInProfile(), pPtiGetCellInProfile(), pPtiGetLastCellInProfile(), pPtiVGetCellsInProfile(), and SetCellsInProfile().

◆ PtiEnd

CGeom2DIPoint CGeomProfile::PtiEnd
private

The seaward end point of the profile in grid CRS.

Definition at line 94 of file profile.h.

Referenced by CGeomProfile(), pPtiGetEndPoint(), and SetEndPoint().

◆ PtiStart

CGeom2DIPoint CGeomProfile::PtiStart
private

The on-coast start point of the profile in grid CRS.

Definition at line 91 of file profile.h.

Referenced by CGeomProfile(), and pPtiGetStartPoint().


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