unit U_SCSEngine;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, U_SCSEngine;

type
  TActiveDoc = class (TObject)
  private
    FDocShapes: TList {TDocShape};
  end;
  
  TDocShape = class (TObject)
  private
    FSCSComponents: TList {TSCSComponent};
    function GetObject(Index: Integer): TSCSComponent;
    function GetObjectsCount: Integer;
  public
    constructor Create;
    procedure AddObject(AObject: TGraphObject);
    procedure DelObject(AIndex: integer);
    procedure Free;
    property Objects[Index: Integer]: TSCSComponent read GetObject;
    property ObjectsCount: Integer read GetObjectsCount;
  end;
  
  TNode = class (TDocShape)
  private
    FBeginPoint: TRoute;
    FEndPoint: TRoute;
    function GetLength: Integer;
  public
    constructor Create(ABeginPoint:TBasePoint; AEndPoint: TBasePoint);
    procedure Free;
    property Length: Integer read GetLength;
  end;
  
  TRoute = class (TDocShape)
  private
    FCoords: TCoords;
    FLines: TList;
  public
    constructor Create(ACoords: TCoords);
    procedure Free;
  end;
  
  TSCSComponent = class (TObject)
  private
    FHeapIndex: Integer;
    FObjects: TList;
    function GetFHeapIndex: Integer;
    function GetObject(Index: Integer): TNetObject;
    function GetObjectCount: Integer;
    procedure SetFHeapIndex(AIndex: Integer);
  public
    constructor Create;
    procedure AddObject(AObject: TNetObject);
    procedure DelObject(AIndex: integer);
    procedure Free;
    property HeapIndex: Integer read GetFHeapIndex write SetFHeapIndex;
    property Objects[Index: Integer]: TNetObject read GetObject;
    property ObjectsCount: Integer read GetObjectCount;
  end;
  

procedure Register;

implementation

procedure Register;
begin
end;

{
********************************** TDocShape ***********************************
}
constructor TDocShape.Create;
begin
end;

procedure TDocShape.AddObject(AObject: TGraphObject);
begin
end;

procedure TDocShape.DelObject(AIndex: integer);
begin
end;

procedure TDocShape.Free;
begin
end;

function TDocShape.GetObject(Index: Integer): TSCSComponent;
begin
end;

function TDocShape.GetObjectsCount: Integer;
begin
end;

{
************************************ TNode *************************************
}
constructor TNode.Create(ABeginPoint:TBasePoint; AEndPoint: TBasePoint);
begin
end;

procedure TNode.Free;
begin
end;

function TNode.GetLength: Integer;
begin
end;

{
************************************ TRoute ************************************
}
constructor TRoute.Create(ACoords: TCoords);
begin
end;

procedure TRoute.Free;
begin
end;

{
******************************** TSCSComponent *********************************
}
constructor TSCSComponent.Create;
begin
end;

procedure TSCSComponent.AddObject(AObject: TNetObject);
begin
end;

procedure TSCSComponent.DelObject(AIndex: integer);
begin
end;

procedure TSCSComponent.Free;
begin
end;

function TSCSComponent.GetFHeapIndex: Integer;
begin
end;

function TSCSComponent.GetObject(Index: Integer): TNetObject;
begin
end;

function TSCSComponent.GetObjectCount: Integer;
begin
end;

procedure TSCSComponent.SetFHeapIndex(AIndex: Integer);
begin
end;


end.
