How generate a patch object with tetramesh?

I have a triangulation object and I'm trying to create a patch from it using tetramesh, but once I use tetramesh it gives me double instead of patch. How can I get a patch from triangulation that is meshed with tetrahydrons?

3 Comments

d = [-1 1];
[x,y,z] = meshgrid(d,d,d); % A cube
x = [x(:);0];
y = [y(:);0];
z = [z(:);0]; % [x,y,z] are corners of a cube plus the center.
dt = delaunayTriangulation(x,y,z);
Tes = dt(:,:);
X = [x(:) y(:) z(:)];
h = tetramesh(Tes,X);camorbit(20,0);
size(h)
ans = 1×2
1 12
class(h)
ans = 'matlab.graphics.primitive.Patch'
h(1)
ans =
Patch with properties: FaceColor: 'flat' FaceAlpha: 0.9000 EdgeColor: [0 0 0] LineStyle: '-' Faces: [4×3 double] Vertices: [12×3 double] Show all properties
Doesn't look like a double to me...
which release is yours?

Sign in to comment.

 Accepted Answer

In R2020a and earlier:
Record the vector returned by tetramesh(), and call handle() on it. The result you get back will be a patch array.
In R2020b, the value returned is a patch array directly.

More Answers (0)

Categories

Products

Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!