31 return sqrt(
SProd(*
this));
40 if (flen!=0)
return (*
this)*(1.0/flen);
59 aMX(fScaleX, 0.0, 0.0),
60 aMY(0.0, fScaleY, 0.0),
61 aMZ(0.0, 0.0, fScaleZ),
72 aMZ(0.0, 0.0, fScaleZ),
75 aMX.
fx=cos(3.14159265359/180.0*fRotAngle);
76 aMX.
fy=sin(3.14159265359/180.0*fRotAngle);
85 aMX(), aMY(), aMZ(), aMP(0.0, 0.0, 0.0)
88 if ( fabs(rExtrusion.
fx) < 1.0/64.0 && fabs(rExtrusion.
fy) < 1.0/64.0) {
101 aMX(), aMY(), aMZ(), aMP()
128 aV=DXFVector(0,0,0)-rViewTarget;
136 aMX(),aMY(),aMZ(),aMP()
172 double fNearNull=(fMXAbs+fMYAbs)*0.001;
174 if (fabs(
aMX.
fy)<=fNearNull && fabs(
aMX.
fz)<=fNearNull &&
175 fabs(
aMY.
fx)<=fNearNull && fabs(
aMY.
fz)<=fNearNull)
177 rEx=fabs(
aMX.
fx*fRadius);
178 rEy=fabs(
aMY.
fy*fRadius);
181 else if (fabs(
aMX.
fx)<=fNearNull && fabs(
aMX.
fz)<=fNearNull &&
182 fabs(
aMY.
fy)<=fNearNull && fabs(
aMY.
fz)<=fNearNull)
184 rEx=fabs(
aMY.
fx*fRadius);
185 rEy=fabs(
aMX.
fy*fRadius);
188 else if (fabs(fMXAbs-fMYAbs)<=fNearNull &&
189 fabs(
aMX.
fz)<=fNearNull && fabs(
aMY.
fz)<=fNearNull)
191 rEx=rEy=fabs(((fMXAbs+fMYAbs)/2)*fRadius);
199 double fex,fey,
scale;
203 scale = (fex+fey)/2.0;
207 aLineInfo.SetStyle( aDXFLineInfo.
eStyle );
208 aLineInfo.SetWidth( 0 );
209 aLineInfo.SetDashCount( static_cast< sal_uInt16 >( aDXFLineInfo.
nDashCount ) );
210 aLineInfo.SetDashLen( static_cast<sal_Int32>(aDXFLineInfo.
fDashLen * scale + 0.5) );
211 aLineInfo.SetDotCount( static_cast< sal_uInt16 >( aDXFLineInfo.
nDotCount ) );
212 aLineInfo.SetDotLen( static_cast<sal_Int32>(aDXFLineInfo.
fDotLen * scale + 0.5) );
213 aLineInfo.SetDistance( static_cast<sal_Int32>(aDXFLineInfo.
fDistance * scale + 0.5) );
215 if ( aLineInfo.GetDashCount() > 0 && aLineInfo.GetDashLen() == 0 )
216 aLineInfo.SetDashLen(1);
218 if ( aLineInfo.GetDotCount() > 0 && aLineInfo.GetDotLen() == 0 )
219 aLineInfo.SetDotLen(1);
226 return atan2(
aMX.
fy,
aMX.
fx)/3.14159265359*180.0;
DXFVector(double fX=0.0, double fY=0.0, double fZ=0.0)
double SProd(const DXFVector &rV) const