' Copyright 2013-2022 CS GROUP ' Licensed to CS GROUP (CS) under one or more ' contributor license agreements. See the NOTICE file distributed with ' this work for additional information regarding copyright ownership. ' CS licenses this file to You under the Apache License, Version 2.0 ' (the "License"); you may not use this file except in compliance with ' the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, software ' distributed under the License is distributed on an "AS IS" BASIS, ' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ' See the License for the specific language governing permissions and ' limitations under the License. @startuml skinparam svek true skinparam ClassBackgroundColor #F3EFEB/CCC9C5 skinparam ClassArrowColor #691616 skinparam ClassBorderColor #691616 skinparam NoteBackgroundColor #F3EFEB skinparam NoteBorderColor #691616 skinparam NoteFontColor #691616 skinparam ClassFontSize 11 package org.orekit.rugged #ECEBD8 { package utils #DDEBD8 { interface ParametricModel { +getNbEstimatedParameters() +getEstimatedParameters(parameters, start, length) +setEstimatedParameters(parameters, start, length) } enum ParameterType { +FIXED +ESTIMATED } } package linesensor #DDEBD8 { class LineSensor } package los #DDEBD8 { interface TimeDependentLOS { +getNbPixels() +getLOS(index, date) +getLOS(index, date, parameters) } interface LOSTransform { +transformLOS(i, los, date) } interface TimeIndependentLOSTransform { +transformLOS(i, los) } class LOSBuilder { +LOSBuilder(List<Vector3D> rawLOS) +LOSBuilder addTransform(TimeIndependentLOSTransform transform) +LOSBuilder addTransform(LOSTransform transform) +TimeDependentLOS build() } ParametricModel <|.. TimeDependentLOS ParametricModel <|.. LOSTransform ParametricModel <|.. TimeIndependentLOSTransform PolynomialRotation --|> LOSTransform ParameterType <--* PolynomialRotation FixedRotation --|> TimeIndependentLOSTransform ParameterType <--* FixedRotation TimeDependentLOS <-- LOSBuilder : builds TimeIndependentLOSTransform <-- LOSBuilder : combines LOSTransform <-- LOSBuilder : combines LineSensor "1" *--> TimeDependentLOS } } package o.a.c.m.analysis.differentiation #C4D2C5 { class DerivativeStructure #D5E0D5/E2EBE2 { +getOrder() +getValue() +getPartialDerivatives(order1, order2, ...) } LOSTransform --> DerivativeStructure TimeIndependentLOSTransform --> DerivativeStructure } @enduml