Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4Visible Class Reference

#include <G4Visible.hh>

Inheritance diagram for G4Visible:

Public Member Functions

 G4Visible ()
 G4Visible (const G4Visible &)
 G4Visible (G4Visible &&)
 G4Visible (const G4VisAttributes *)
virtual ~G4Visible ()
G4Visibleoperator= (const G4Visible &)
G4Visibleoperator= (G4Visible &&)
G4bool operator!= (const G4Visible &right) const
const G4VisAttributesGetVisAttributes () const
void SetVisAttributes (const G4VisAttributes *)
void SetVisAttributes (const G4VisAttributes &)
virtual const G4StringGetInfo () const
virtual void SetInfo (const G4String &info)

Protected Attributes

G4String fInfo
const G4VisAttributesfpVisAttributes
G4bool fAllocatedVisAttributes

Friends

std::ostream & operator<< (std::ostream &os, const G4Visible &v)

Detailed Description

Definition at line 47 of file G4Visible.hh.

Constructor & Destructor Documentation

◆ G4Visible() [1/4]

G4Visible::G4Visible ( )

Definition at line 36 of file G4Visible.cc.

36 :
37 fpVisAttributes (nullptr),
39{}
const G4VisAttributes * fpVisAttributes
Definition G4Visible.hh:87
G4bool fAllocatedVisAttributes
Definition G4Visible.hh:88

Referenced by G4Visible(), G4Visible(), operator!=(), G4Polyline::operator<<, operator<<, G4VMarker::operator<<, operator=(), and operator=().

◆ G4Visible() [2/4]

G4Visible::G4Visible ( const G4Visible & visible)

Definition at line 41 of file G4Visible.cc.

41 {
44 if (visible.fpVisAttributes) {
45 fpVisAttributes = new G4VisAttributes(*visible.fpVisAttributes);
46 } else {
48 fpVisAttributes = nullptr;
49 }
50 } else fpVisAttributes = visible.fpVisAttributes;
51}

◆ G4Visible() [3/4]

G4Visible::G4Visible ( G4Visible && visible)

Definition at line 53 of file G4Visible.cc.

53 {
56 visible.fpVisAttributes = nullptr;
57 visible.fAllocatedVisAttributes = false;
58}

◆ G4Visible() [4/4]

G4Visible::G4Visible ( const G4VisAttributes * pVA)

Definition at line 60 of file G4Visible.cc.

60 :
61 fpVisAttributes (pVA),
63{}

◆ ~G4Visible()

G4Visible::~G4Visible ( )
virtual

Definition at line 65 of file G4Visible.cc.

65 {
67}

Member Function Documentation

◆ GetInfo()

virtual const G4String & G4Visible::GetInfo ( ) const
virtual

◆ GetVisAttributes()

◆ operator!=()

G4bool G4Visible::operator!= ( const G4Visible & right) const

Definition at line 115 of file G4Visible.cc.

115 {
116 if (fInfo != right.fInfo) return false;
117 if ((fpVisAttributes != nullptr) && (right.fpVisAttributes != nullptr))
118 return *fpVisAttributes != *right.fpVisAttributes;
119 if ((fpVisAttributes == nullptr) && (right.fpVisAttributes == nullptr)) return false;
120 return true;
121}
G4String fInfo
Definition G4Visible.hh:86

◆ operator=() [1/2]

G4Visible & G4Visible::operator= ( const G4Visible & rhs)

Definition at line 69 of file G4Visible.cc.

69 {
70 if (&rhs == this) return *this;
71 fInfo = rhs.fInfo;
74 delete fpVisAttributes;
75 if (rhs.fpVisAttributes) {
76 fpVisAttributes = new G4VisAttributes(*rhs.fpVisAttributes);
77 } else {
79 fpVisAttributes = nullptr;
80 }
81 }
83 return *this;
84}

◆ operator=() [2/2]

G4Visible & G4Visible::operator= ( G4Visible && rhs)

Definition at line 86 of file G4Visible.cc.

86 {
87 if (&rhs == this) return *this;
88 fInfo = rhs.fInfo;
92 rhs.fpVisAttributes = nullptr;
93 rhs.fAllocatedVisAttributes = false;
94 return *this;
95}

◆ SetInfo()

virtual void G4Visible::SetInfo ( const G4String & info)
virtual

◆ SetVisAttributes() [1/2]

void G4Visible::SetVisAttributes ( const G4VisAttributes & VA)

Definition at line 97 of file G4Visible.cc.

97 {
98 // Allocate G4VisAttributes on the heap in case the user specifies a
99 // short-lived VA for a long-lived G4Visible. Flag so that it can
100 // be deleted in the destructor.
101 // First delete any G4VisAttributes already on the heap...
103 fpVisAttributes = new G4VisAttributes(VA);
105}

◆ SetVisAttributes() [2/2]

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const G4Visible & v )
friend

Definition at line 123 of file G4Visible.cc.

123 {
124 os << "G4Visible: ";
125 if (!v.fInfo.empty()) os << "User information: " << v.fInfo << ": ";
126 if (v.fpVisAttributes != nullptr) return os << '\n' << *(v.fpVisAttributes);
127 return os << "No Visualization Attributes";
128}

Member Data Documentation

◆ fAllocatedVisAttributes

G4bool G4Visible::fAllocatedVisAttributes
protected

◆ fInfo

G4String G4Visible::fInfo
protected

Definition at line 86 of file G4Visible.hh.

Referenced by operator!=(), operator<<, operator=(), and operator=().

◆ fpVisAttributes

const G4VisAttributes* G4Visible::fpVisAttributes
protected

The documentation for this class was generated from the following files: