return Aspect_TOL_USERDEFINED;
}
+ //! Return a multiplier for each bit in the line stipple pattern within [1, 256] range; 1 by default.
+ uint16_t LineStippleFactor() const { return myLineFactor; }
+
+ //! Set a multiplier for each bit in the line stipple pattern.
+ void SetLineStippleFactor (uint16_t theFactor)
+ {
+ if (theFactor == 0 || theFactor > 256)
+ {
+ throw Standard_OutOfRange ("Graphic3d_Aspects::SetLineStippleFactor(), bad factor value");
+ }
+ myLineFactor = theFactor;
+ }
+
//! Return line width.
Standard_ShortReal Width() const { return myWidth; }
return myProgram == theOther.myProgram
&& myType == theOther.myType
+ && myLineFactor == theOther.myLineFactor
&& myLinePattern == theOther.myLinePattern
&& myColor == theOther.myColor
&& myWidth == theOther.myWidth;
Quantity_ColorRGBA myColor;
Aspect_TypeOfLine myType;
Standard_ShortReal myWidth;
+ uint16_t myLineFactor;
uint16_t myLinePattern;
};
Standard_Integer ToSetTypeOfLine;
uint16_t StippleLinePattern;
+ uint16_t StippleLineFactor;
Standard_Integer ToSetTypeOfMarker;
Aspect_TypeOfMarker TypeOfMarker;
LineWidth (1.0),
ToSetTypeOfLine (0),
StippleLinePattern(0xFFFF),
+ StippleLineFactor (1),
ToSetTypeOfMarker (0),
TypeOfMarker (Aspect_TOM_PLUS),
ToSetMarkerSize (0),
{
aChangeSet->ToSetTypeOfLine = -1;
}
+ else if (anArg == "-setstipplelinefactor"
+ || anArg == "-setstipplefactor"
+ || anArg == "-setlinefactor"
+ || anArg == "-stipplelinefactor"
+ || anArg == "-stipplefactor"
+ || anArg == "-linefactor")
+ {
+ if (aChangeSet->ToSetTypeOfLine == -1)
+ {
+ std::cout << "Error: -setStippleLineFactor requires -setLineType\n";
+ return 1;
+ }
+ if (++anArgIter >= theArgNb)
+ {
+ std::cout << "Error: wrong syntax at " << anArg << "\n";
+ return 1;
+ }
+ aChangeSet->StippleLineFactor = (uint16_t )Draw::Atoi (theArgVec[anArgIter]);
+ }
else if (anArg == "-setmarkertype"
|| anArg == "-setpointtype")
{
aChangeSet->LineWidth = 1.0;
aChangeSet->ToSetTypeOfLine = -1;
aChangeSet->StippleLinePattern = 0xFFFF;
+ aChangeSet->StippleLineFactor = 1;
aChangeSet->ToSetTypeOfMarker = -1;
aChangeSet->TypeOfMarker = Aspect_TOM_PLUS;
aChangeSet->ToSetMarkerSize = -1;
if (aChangeSet->ToSetTypeOfLine != 0)
{
aDrawer->LineAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->LineAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
aDrawer->WireAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->WireAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
aDrawer->FreeBoundaryAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->FreeBoundaryAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
aDrawer->UnFreeBoundaryAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->UnFreeBoundaryAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
aDrawer->SeenLineAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->SeenLineAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
}
if (aChangeSet->ToSetTypeOfMarker != 0)
{
if (aChangeSet->ToSetTypeOfLine != 0)
{
aDrawer->LineAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->LineAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
aDrawer->WireAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->WireAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
aDrawer->FreeBoundaryAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->FreeBoundaryAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
aDrawer->UnFreeBoundaryAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->UnFreeBoundaryAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
aDrawer->SeenLineAspect()->Aspect()->SetLinePattern (aChangeSet->StippleLinePattern);
+ aDrawer->SeenLineAspect()->Aspect()->SetLineStippleFactor (aChangeSet->StippleLineFactor);
toRedisplay = Standard_True;
}
if (aChangeSet->ToSetTypeOfMarker != 0)
"\n\t\t: [-setMaterial MatName] [-unsetMaterial]"
"\n\t\t: [-setTransparency Transp] [-unsetTransparency]"
"\n\t\t: [-setWidth LineWidth] [-unsetWidth]"
- "\n\t\t: [-setLineType {solid|dash|dot|dotDash|0xHexPattern}] [-unsetLineType]"
+ "\n\t\t: [-setLineType {solid|dash|dot|dotDash|0xHexPattern} [-stippleFactor factor]]"
+ "\n\t\t: [-unsetLineType]"
"\n\t\t: [-setMarkerType {.|+|x|O|xcircle|pointcircle|ring1|ring2|ring3|ball|ImagePath}]"
"\n\t\t: [-unsetMarkerType]"
"\n\t\t: [-setMarkerSize Scale] [-unsetMarkerSize]"