Class TSegment

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TSegment = class(TObject)

Description

TSegment is a line segment connecting two TNodes. Additional TNodes may be inserted along its length.

Hierarchy

Overview

Fields

Private FNode1: TNode;
Private FNode2: TNode;
Private FInnerNodes: TNodeList;
Private FSegmentType: TSegmentType;
Private FBoundary: TBoundary;
Private FQuadMeshCreator: TQuadMeshCreator;

Methods

Private function NodesToInsert: Integer;
Private procedure Reverse;
Private constructor Create(Node1, Node2: TNode; SegmentType: TSegmentType; Boundary: TBoundary; QuadMeshCreator: TQuadMeshCreator);
Private function Split(ANode: TNode): TSegmentList;
Private function CreateReversedSegment: TSegment;
Private function Length: double;
Private procedure InsertNodes(NumberToInsert: Integer);
Public destructor Destroy; override;

Properties

Private property Node1: TNode read FNode1;
Private property Node2: TNode read FNode2;
Private property SegmentType: TSegmentType read FSegmentType;

Description

Fields

Private FNode1: TNode;

First endpoint TNode of the segment

Private FNode2: TNode;

Second endpoint TNode of the segment

Private FInnerNodes: TNodeList;

TNodes inserted along length of TSegment

Private FSegmentType: TSegmentType;
 
Private FBoundary: TBoundary;
 
Private FQuadMeshCreator: TQuadMeshCreator;
 

Methods

Private function NodesToInsert: Integer;

NodesToInsert returns the number of TNodes that ideally would be inserted along this TSegment. The actual number inserted might be larger in order to ensure that the number of TNodes around a boundary is even.

Private procedure Reverse;

Reverse reverses the direction of this TSegment including inserted nodes.

Private constructor Create(Node1, Node2: TNode; SegmentType: TSegmentType; Boundary: TBoundary; QuadMeshCreator: TQuadMeshCreator);

Create creates a TSegment and inserts itself on the FSegments of Node1 and Node2.

Private function Split(ANode: TNode): TSegmentList;

Split splits this TSegment into two parts at ANode. ANode must be in FInnerNodes.

Private function CreateReversedSegment: TSegment;

CreateReversedSegment creates a new TSegment whose orientation is opposite this one.

Private function Length: double;
 
Private procedure InsertNodes(NumberToInsert: Integer);

InsertNodes creates evenly spaced new nodes and inserts them in FInnerNodes.

Public destructor Destroy; override;
 

Properties

Private property Node1: TNode read FNode1;
 
Private property Node2: TNode read FNode2;
 
Private property SegmentType: TSegmentType read FSegmentType;
 

Generated by PasDoc 0.12.1 on 2013-05-13 15:41:58