1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
// File: Plate_LinearXYZConstraint.cxx
// Created: Thu Mar 26 15:21:12 1998
// Author: # Andre LIEUTIER
// <alr@sgi63>
#include <Plate_LinearXYZConstraint.ixx>
Plate_LinearXYZConstraint::Plate_LinearXYZConstraint() {}
Plate_LinearXYZConstraint::Plate_LinearXYZConstraint(const Plate_Array1OfPinpointConstraint& ppc,const TColStd_Array1OfReal& coeff)
{
if(coeff.Length()!= ppc.Length()) Standard_DimensionMismatch::Raise();
myPPC = new Plate_HArray1OfPinpointConstraint(1,ppc.Length());
myCoef = new TColStd_HArray2OfReal(1,1,1,coeff.Length());
myPPC->ChangeArray1() = ppc;
for(Standard_Integer i = 1; i<= coeff.Length(); i++)
myCoef->ChangeValue(1,i) = coeff(i+coeff.Lower()-1);
}
Plate_LinearXYZConstraint::Plate_LinearXYZConstraint(const Plate_Array1OfPinpointConstraint& ppc,const TColStd_Array2OfReal& coeff)
{
if(coeff.RowLength()!= ppc.Length()) Standard_DimensionMismatch::Raise();
myPPC = new Plate_HArray1OfPinpointConstraint(1,ppc.Length());
myCoef = new TColStd_HArray2OfReal(1,coeff.ColLength(),1,coeff.RowLength());
myPPC->ChangeArray1() = ppc;
myCoef->ChangeArray2() = coeff;
}
Plate_LinearXYZConstraint::Plate_LinearXYZConstraint(const Standard_Integer ColLen,const Standard_Integer RowLen)
{
myPPC = new Plate_HArray1OfPinpointConstraint(1,RowLen);
myCoef = new TColStd_HArray2OfReal(1,ColLen,1,RowLen);
myCoef->Init(0.0);
}
void Plate_LinearXYZConstraint::SetPPC(const Standard_Integer Index,const Plate_PinpointConstraint& Value)
{
myPPC->ChangeValue(Index) = Value;
}
void Plate_LinearXYZConstraint::SetCoeff(const Standard_Integer Row,const Standard_Integer Col,const Standard_Real Value)
{
myCoef->ChangeValue(Row,Col) = Value;
}
|