38 fVisible (va.fVisible),
39 fDaughtersInvisible (va.fDaughtersInvisible),
41 fLineStyle (va.fLineStyle),
42 fLineWidth (va.fLineWidth),
43 fForceDrawingStyle (va.fForceDrawingStyle),
44 fForcedStyle (va.fForcedStyle),
45 fForceAuxEdgeVisible (va.fForceAuxEdgeVisible),
46 fForcedLineSegmentsPerCircle (va.fForcedLineSegmentsPerCircle),
47 fStartTime (va.fStartTime),
48 fEndTime (va.fEndTime),
52 fAttValues (va.fAttValues),
55 fAttDefs (va.fAttDefs)
60 fDaughtersInvisible (false),
62 fLineStyle (unbroken),
64 fForceDrawingStyle (false),
65 fForcedStyle (wireframe),
66 fForceAuxEdgeVisible (false),
67 fForcedLineSegmentsPerCircle (0),
75 fVisible (visibility),
76 fDaughtersInvisible (false),
78 fLineStyle (unbroken),
80 fForceDrawingStyle (false),
81 fForcedStyle (wireframe),
82 fForceAuxEdgeVisible (false),
83 fForcedLineSegmentsPerCircle (0),
92 fDaughtersInvisible (false),
94 fLineStyle (unbroken),
96 fForceDrawingStyle (false),
97 fForcedStyle (wireframe),
98 fForceAuxEdgeVisible (false),
99 fForcedLineSegmentsPerCircle (0),
108 fVisible (visibility),
109 fDaughtersInvisible (false),
111 fLineStyle (unbroken),
113 fForceDrawingStyle (false),
114 fForcedStyle (wireframe),
115 fForceAuxEdgeVisible (false),
116 fForcedLineSegmentsPerCircle (0),
129 if (&rhs ==
this)
return *
this;
130 fVisible = rhs.fVisible;
131 fDaughtersInvisible = rhs.fDaughtersInvisible;
132 fColour = rhs.fColour;
133 fLineStyle = rhs.fLineStyle;
134 fLineWidth = rhs.fLineWidth;
135 fForceDrawingStyle = rhs.fForceDrawingStyle;
136 fForcedStyle = rhs.fForcedStyle;
137 fForceAuxEdgeVisible = rhs.fForceAuxEdgeVisible;
138 fForcedLineSegmentsPerCircle = rhs.fForcedLineSegmentsPerCircle;
139 fStartTime = rhs.fStartTime;
140 fEndTime = rhs.fEndTime;
144 fAttValues = rhs.fAttValues;
147 fAttDefs = rhs.fAttDefs;
155 return new std::vector<G4AttValue>(*fAttValues);
159 const G4int nSegmentsMin = 12;
160 if (nSegments > 0 && nSegments < nSegmentsMin) {
161 nSegments = nSegmentsMin;
163 "G4VisAttributes::SetForcedLineSegmentsPerCircle: attempt to set the"
164 "\nnumber of line segements per circle < " << nSegmentsMin
165 <<
"; forced to " << nSegments <<
G4endl;
167 fForcedLineSegmentsPerCircle = nSegments;
172 os <<
"G4VisAttributes: ";
174 if (!a.fVisible) os <<
"in";
175 os <<
"visible, daughters ";
176 if (a.fDaughtersInvisible) os <<
"in";
177 os <<
"visible, colour: " << a.fColour;
178 os <<
"\n linestyle: ";
179 switch (a.fLineStyle) {
181 os <<
"solid";
break;
183 os <<
"dashed";
break;
185 default: os <<
"unrecognised";
break;
187 os <<
", line width: " << a.fLineWidth;
188 os <<
"\n drawing style: ";
189 if (a.fForceDrawingStyle) {
191 switch (a.fForcedStyle) {
193 os <<
"wireframe";
break;
195 os <<
"solid";
break;
196 default: os <<
"unrecognised";
break;
202 os <<
", auxiliary edge visibility: ";
203 if (!a.fForceAuxEdgeVisible) {
207 os <<
"\n line segments per circle: ";
208 if (a.fForcedLineSegmentsPerCircle > 0) {
209 os <<
"forced to " << a.fForcedLineSegmentsPerCircle;
213 os <<
"\n time range: (" << a.fStartTime <<
',' << a.fEndTime <<
')';
214 os <<
"\n G4AttValue pointer is ";
219 os <<
", G4AttDef pointer is ";
225 else os <<
" zero G4VisAttributes pointer";
232 (fVisible != a.fVisible) ||
233 (fDaughtersInvisible != a.fDaughtersInvisible) ||
234 (fColour != a.fColour) ||
235 (fLineStyle != a.fLineStyle) ||
236 (fLineWidth != a.fLineWidth) ||
237 (fForceDrawingStyle != a.fForceDrawingStyle) ||
238 (fForceAuxEdgeVisible!= a.fForceAuxEdgeVisible)||
239 (fForcedLineSegmentsPerCircle != a.fForcedLineSegmentsPerCircle) ||
240 (fStartTime != a.fStartTime) ||
241 (fEndTime != a.fEndTime) ||
242 (fAttValues != a.fAttValues) ||
243 (fAttDefs != a.fAttDefs)
247 if (fForceDrawingStyle) {
248 if (fForcedStyle != a.fForcedStyle)
return true;