Replace all pointer to handle object by pointer to a different handle object
Afficher commentaires plus anciens
Dear all,
I am struggling to solve a problem concerning handle objects. Let me first explain my object constallations. I have three different classes:
Node class:
classdef Node < handle
properties
X %double
Y %double
Z %double
end
end
Element class:
classdef Element < handle
properties
Nodes % Node objects (1x4)
end
end
Mesh class:
classdef Element < handle
properties
Elements % Element objects (1xN)
Nodes % List of all nodes in Element
end
end
The is an abstraction of my problem. Now I want to merge two Nodes ( Node1 into Node 2).
The Idea is either :
- To change all Pointer of the handle object Node1 to Pointer to Node2
- Change 'root object' of Node1 (where the pointer references to) to the 'root object' of Node2, so that the pointer redirect all?!
- Delete Node1 and during deletion replace by a pointer to Node2
The problems:
- I didn't find any method to get all Pointer to Node1
- How can I acces this 'root object'
- No idea if and how it is possible
I have tried:
classdef Node < handle
properties
X %double
Y %double
Z %double
end
methods
function merge2(obj,NewNode)
obj = NewNode;
end
end
end
% Call
Node1.merge2(Node2)
But this only changes the handle variable obj and does not change redirect the 'root object' from Node1 to Node2.
Does anyone have a good solution for this, without looping over all properties to find all pointer and manually change the handle variable?
Thanks a lot guys!
Best regards.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Use Prebuilt MATLAB Interface to C++ Library dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!