Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions
VrmlData_Group Class Reference

#include <VrmlData_Group.hxx>

Inheritance diagram for VrmlData_Group:
Inheritance graph
[legend]

Public Types

typedef NCollection_List< occ::handle< VrmlData_Node > >::Iterator Iterator
 
- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Public Member Functions

 VrmlData_Group (const bool isTransform=false)
 
 VrmlData_Group (const VrmlData_Scene &theScene, const char *theName, const bool isTransform=false)
 
occ::handle< VrmlData_Node > & AddNode (const occ::handle< VrmlData_Node > &theNode)
 
bool RemoveNode (const occ::handle< VrmlData_Node > &theNode)
 
Iterator NodeIterator () const
 
const Bnd_B3fBox () const
 
void SetBox (const Bnd_B3f &theBox)
 
bool SetTransform (const gp_Trsf &theTrsf)
 
const gp_TrsfGetTransform () const
 
bool IsTransform () const
 
occ::handle< VrmlData_NodeClone (const occ::handle< VrmlData_Node > &theOther) const override
 
VrmlData_ErrorStatus Read (VrmlData_InBuffer &theBuffer) override
 
VrmlData_ErrorStatus Write (const char *thePrefix) const override
 
occ::handle< VrmlData_NodeFindNode (const char *theName, gp_Trsf &theLocation) const
 
void Shape (TopoDS_Shape &theShape, NCollection_DataMap< occ::handle< TopoDS_TShape >, occ::handle< VrmlData_Appearance > > *pMapApp)
 
- Public Member Functions inherited from VrmlData_Node
 VrmlData_Node ()
 
 ~VrmlData_Node () override=default
 
const VrmlData_SceneScene () const
 
const charName () const
 
VrmlData_ErrorStatus ReadNode (VrmlData_InBuffer &theBuffer, occ::handle< VrmlData_Node > &theNode, const occ::handle< Standard_Type > &Type=nullptr)
 
virtual bool IsDefault () const
 
VrmlData_ErrorStatus WriteClosing () const
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
bool IsKind (const char *const theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Member Functions

VrmlData_ErrorStatus openFile (Standard_IStream &theStream, const TCollection_AsciiString &theFilename)
 
- Protected Member Functions inherited from VrmlData_Node
 VrmlData_Node (const VrmlData_Scene &theScene, const char *theName)
 

Additional Inherited Members

- Static Public Member Functions inherited from VrmlData_Node
static VrmlData_ErrorStatus ReadBoolean (VrmlData_InBuffer &theBuffer, bool &theResult)
 
static VrmlData_ErrorStatus ReadString (VrmlData_InBuffer &theBuffer, TCollection_AsciiString &theRes)
 
static VrmlData_ErrorStatus ReadMultiString (VrmlData_InBuffer &theBuffer, NCollection_List< TCollection_AsciiString > &theRes)
 
static VrmlData_ErrorStatus ReadInteger (VrmlData_InBuffer &theBuffer, long &theResult)
 
static bool OK (const VrmlData_ErrorStatus theStat)
 
static bool OK (VrmlData_ErrorStatus &outStat, const VrmlData_ErrorStatus theStat)
 
static int GlobalIndent ()
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 
- Static Protected Member Functions inherited from VrmlData_Node
static VrmlData_ErrorStatus readBrace (VrmlData_InBuffer &theBuffer)
 

Detailed Description

Implementation of node "Group"

Member Typedef Documentation

◆ Iterator

Constructor & Destructor Documentation

◆ VrmlData_Group() [1/2]

VrmlData_Group::VrmlData_Group ( const bool isTransform = false)
inline

Empty constructor.

Parameters
isTransformTrue if the group of type Transform is defined
theAllocAllocator used for the list of children

◆ VrmlData_Group() [2/2]

VrmlData_Group::VrmlData_Group ( const VrmlData_Scene & theScene,
const char * theName,
const bool isTransform = false )

Constructor.

Parameters
theNameName of the Group node
isTransformTrue if the group of type Transform is defined
theAllocAllocator used for the list of children

Member Function Documentation

◆ AddNode()

occ::handle< VrmlData_Node > & VrmlData_Group::AddNode ( const occ::handle< VrmlData_Node > & theNode)
inline

Add one node to the Group.

◆ Box()

const Bnd_B3f & VrmlData_Group::Box ( ) const
inline

Query the bounding box.

◆ Clone()

occ::handle< VrmlData_Node > VrmlData_Group::Clone ( const occ::handle< VrmlData_Node > & theOther) const
overridevirtual

Create a copy of this node. If the parameter is null, a new copied node is created. Otherwise new node is not created, but rather the given one is modified.

Reimplemented from VrmlData_Node.

◆ FindNode()

occ::handle< VrmlData_Node > VrmlData_Group::FindNode ( const char * theName,
gp_Trsf & theLocation ) const

Find a node by its name, inside this Group

Parameters
theNameName of the node to search for.
theLocationLocation of the found node with respect to this Group.

◆ GetTransform()

const gp_Trsf & VrmlData_Group::GetTransform ( ) const
inline

Query the transform value. For group without transformation this always returns Identity

◆ IsTransform()

bool VrmlData_Group::IsTransform ( ) const
inline

Query if the node is Transform type.

◆ NodeIterator()

Iterator VrmlData_Group::NodeIterator ( ) const
inline

Create iterator on nodes belonging to the Group.

◆ openFile()

VrmlData_ErrorStatus VrmlData_Group::openFile ( Standard_IStream & theStream,
const TCollection_AsciiString & theFilename )
protected

Try to open a file by the given filename, using the search directories list myVrmlDir of the Scene.

◆ Read()

VrmlData_ErrorStatus VrmlData_Group::Read ( VrmlData_InBuffer & theBuffer)
overridevirtual

Fill the Node internal data from the given input stream.

Implements VrmlData_Node.

◆ RemoveNode()

bool VrmlData_Group::RemoveNode ( const occ::handle< VrmlData_Node > & theNode)

Remove one node from the Group.

Returns
True if the node was located and removed, False if none removed.

◆ SetBox()

void VrmlData_Group::SetBox ( const Bnd_B3f & theBox)
inline

Set the bounding box.

◆ SetTransform()

bool VrmlData_Group::SetTransform ( const gp_Trsf & theTrsf)

Set the transformation. Returns True if the group is Transform type, otherwise do nothing and return False.

◆ Shape()

void VrmlData_Group::Shape ( TopoDS_Shape & theShape,
NCollection_DataMap< occ::handle< TopoDS_TShape >, occ::handle< VrmlData_Appearance > > * pMapApp )

Get the shape representing the group geometry.

◆ Write()

VrmlData_ErrorStatus VrmlData_Group::Write ( const char * thePrefix) const
overridevirtual

Write the Node to output stream.

Reimplemented from VrmlData_Node.


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