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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
// File: Plate_LinearScalarConstraint.cxx
// Created: Thu Mar 26 14:39:21 1998
// Author: # Andre LIEUTIER
// <alr@sgi63>
#include <Plate_LinearScalarConstraint.ixx>
#include <Standard_DimensionMismatch.hxx>
Plate_LinearScalarConstraint::Plate_LinearScalarConstraint() {}
Plate_LinearScalarConstraint::Plate_LinearScalarConstraint
(const Plate_PinpointConstraint& PPC1,const gp_XYZ& coeff)
{
myPPC = new Plate_HArray1OfPinpointConstraint(1,1);
myCoef = new TColgp_HArray2OfXYZ(1,1,1,1);
myPPC->ChangeValue(1) = PPC1;
myCoef->ChangeValue(1,1) = coeff;
}
Plate_LinearScalarConstraint::Plate_LinearScalarConstraint(const Plate_Array1OfPinpointConstraint& ppc,const TColgp_Array1OfXYZ& coeff)
{
if(coeff.Length()!= ppc.Length()) Standard_DimensionMismatch::Raise();
myPPC = new Plate_HArray1OfPinpointConstraint(1,ppc.Length());
myCoef = new TColgp_HArray2OfXYZ(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_LinearScalarConstraint::Plate_LinearScalarConstraint
(const Plate_Array1OfPinpointConstraint& ppc,const TColgp_Array2OfXYZ& coeff)
{
if(coeff.RowLength()!= ppc.Length()) Standard_DimensionMismatch::Raise();
myPPC = new Plate_HArray1OfPinpointConstraint(1,ppc.Length());
myCoef = new TColgp_HArray2OfXYZ(1,coeff.ColLength(),1,coeff.RowLength());
myPPC->ChangeArray1() = ppc;
myCoef->ChangeArray2() = coeff;
}
Plate_LinearScalarConstraint::Plate_LinearScalarConstraint(const Standard_Integer ColLen,const Standard_Integer RowLen)
{
myPPC = new Plate_HArray1OfPinpointConstraint(1,RowLen);
myCoef = new TColgp_HArray2OfXYZ(1,ColLen,1,RowLen);
myCoef->Init(gp_XYZ(0.,0.,0.));
}
void Plate_LinearScalarConstraint::SetPPC(const Standard_Integer Index,const Plate_PinpointConstraint& Value)
{
myPPC->ChangeValue(Index) = Value;
}
void Plate_LinearScalarConstraint::SetCoeff(const Standard_Integer Row,const Standard_Integer Col,const gp_XYZ& Value)
{
myCoef->ChangeValue(Row,Col) = Value;
}
|